[英]trouble configuring WCF to use session
我在配置WCF服務以在會話模式下運行時遇到麻煩。 作為測試,我編寫了以下簡單服務:
[ServiceContract]
public interface IService1
{
[OperationContract]
string AddData(int value);
}
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)]
internal class Service1 : IService1,IDisposable
{
private int acc;
public Service1()
{
acc = 0;
}
public string AddData(int value)
{
acc += value;
return string.Format("Accumulator value: {0}", acc);
}
#region IDisposable Members
public void Dispose()
{
}
#endregion
}
我正在將Net.TCP綁定與啟用可靠會話標志的默認配置一起使用。 據我了解,這種服務在會話模式下應該沒有問題。 但是,該服務按每次調用模式運行-每次我調用AddData時,都會在執行AddData之前調用構造函數,並在調用之后調用Dispose()。 任何想法為什么會發生這種情況? 也許我缺少什么?
注意:我不知道它是否相關,但是我正在使用VS2008來運行它。
更新:我在這里注意到wcftestclient不能與客戶保持會話-也許這是我的問題。 確實,這就是問題所在。 從簡單控制台客戶端連接到該服務,確認該服務可以正常工作。
定義ServiceContract時,嘗試要求使用SessionMode:
[ServiceContract(SessionMode = SessionMode.Required)]
public interface IService1
{
[OperationContract]
string AddData(int value);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.