代码之家  ›  专栏  ›  技术社区  ›  Jeremy Cron

为什么每次调用webmethod时都会调用我的WebService构造函数?

  •  4
  • Jeremy Cron  · 技术社区  · 15 年前

    每次调用webmethod时,都会调用我的webservice构造函数。这导致我正在添加的一些新功能出现一些问题,我无法找出我做错了什么导致了这一问题。我更新Web服务的唯一地方是global.asax.cs的应用程序\u Start,但是如果我将代码删除到 new webservice,它仍然在每次我调用webmethod时调用构造函数。

    我已经通过浏览.asmx文件并以这种方式调用webmethod进行了测试,我还创建了一个测试控制台应用程序,该应用程序引用了webservice,并将以这种方式调用这些方法。这两种方法给出了相同的结果。




    3 回复  |  直到 15 年前
        1
  •  19
  •   Community c0D3l0g1c    7 年前

    无论何时调用web方法,都会创建web服务的新实例—这是预期的行为。Web服务是无状态的,这意味着服务实例在Web方法调用之间不保持活动状态,因此不能在Web服务的成员(字段、属性)中存储任何状态。

    如果要在web方法调用之间保存某些值/状态,则必须使用ASP.NET会话或数据库。

    有关详细信息,请参见此问题: Is this supposed to work this way?

        2
  •  0
  •   Steve    15 年前

        3
  •  0
  •   Pablote    15 年前