我用C#编写了这个WebService:
public class Service : IService
{
TestClass testObject = new TestClass();
public string GetData()
{
testObject.Counter++;
return string.Format("Test Value: {0}", testObject.Counter);
}
}
public class TestClass
{
public int Counter { get; set; }
public TestClass()
{
Counter = 0;
}
}
这是一个WebService,每次我调用我的WebService时都会重新创建everthing。所以我的计数器永远不会增加,每次我调用GetData()
WebService返回“1”。
在每次WebService调用之间保留数据的解决方案是什么?
您是否了解文章而不是解释如何使用WebService持久保存数据?
谢谢,
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以在HttpContext.Cache中跟踪计数器并在那里增加值:
int counter = (int) HttpContext.Current.Cache["ServiceCallCounter"];
counter ++;
HttpContext.Current.Cache["ServiceCallCounter"] = counter;
请注意,您必须先激活它,并注意此缓存不会保留Application-Pool循环:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>