每次调用web方法时,都会调用我的webservice构造函数。这引起了一些我正在添加的新功能的问题,我无法弄清楚我做错了导致这种情况。我正在新建web服务的唯一地方是global.asax.cs的Application_Start,但如果我将代码移到 new webservice,它每次调用webmethod时仍会调用构造函数。 点击 点击 我通过浏览到.asmx文件并以这种方式调用webmethod来测试这个,我还创建了一个测试控制台应用程序,该应用程序具有对webservice的引用并将以这种方式调用方法。这两个都给出了相同的结果。 点击 点击 我在ASP.NET 1.1中使用c#。有任何想法吗? 点击 点击 修改 点击 我正在尝试创建一个轮询Windows服务的心跳线程。我试图将结果保存在哈希表中(多个线程轮询多个服务)。我已经更改了webmethod(用于轮询Windows服务)以从哈希表中获取结果。我们正在努力提高此webmethod调用的速度。

有帮助吗?

解决方案

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

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

有关详细信息,请参阅此问题:这应该以这种方式工作吗?

其他提示

呃...这有点像设计我害怕。你能描述一下你遇到的问题以及你想要实现的目标,我认为你需要在这里重构一下你的设计。

您还可以切换到支持有状态服务的WCF

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top