簡體   English   中英

無法將WCF配置為使用會話

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM