1
我正在研究一個項目,我必須將數據存儲在WCF服務中,但我不確定如何在數據被操縱時維護更改。WCF服務存儲和操作集合?
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Single, InstanceContextMode =
InstanceContextMode.Single,UseSynchronizationContext = true)]
public class TestService : ITestService {
private List<TestClass> cl;
public TestService()
{
cl = new List<TestClass>();
TestClass tc = new TestClass(5);
cl.add(tc);
}
public void Diminish(int x)
{
cl[0].Value -= x;
}
public TestClass ReturnValue(int p)
{
return cl[p];
}
}
當客戶使用這項服務,我怎麼可以把收集cl
的更新值那麼現在?
我嘗試使用私有靜態SynchronizedCollection cl;但是當我運行減少後返回值(0)時,我仍然得到5而不是4. –
2012-02-12 22:39:54
@JohnDoe,在兩次調用之間重啓服務的任何機會?因爲你每次重新編譯並運行WCF服務時都會將列表存儲在內存中,因此它將重新初始化它的值。如果你想以持久的方式保存這個列表,你可能會考慮將它存儲在一個文件或數據庫中,而不是將它保存在服務器的內存中。 – 2012-02-12 22:44:59
服務正在運行,我運行vs2010的兩個實例,其中服務一個與客戶端。 – 2012-02-12 22:53:48