WCF会议 - 服务结构状态服务



基于https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric/service-fabric-reliable-services-communication-communication-communication-wcf

WCF中的状态服务是否支持会议?

尝试了以下属性,但不起作用。

[servicebehavior(instancecontextmode = instancecontextmode.persession(]

公共类ColculatorService:iCalculator

[serviceContract(sessionmode = sessionmode.required(]

公共接口iCalculator


我需要进行任何更改,以支持会议?

protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
    {
        return new[]
        {
            new ServiceReplicaListener( (context) =>
                new WcfCommunicationListener<ICalculator>(context, new CalculatorService(),WcfUtility.CreateTcpListenerBinding(),"WCFServiceEndpoint")
            )
       }; 
    }

我能够使用以下代码在WCF状态服务中实现会话。

protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
    {
        return new[]
        {
            new ServiceReplicaListener( (context) =>
             {
                var wcfCommunicationListener = new WcfCommunicationListener<ICalculator>(context, new CalculatorService(),WcfUtility.CreateTcpListenerBinding(),"WCFServiceEndpoint");                                        
                wcfCommunicationListener.ServiceHost.Description.Behaviors.Remove(typeof(ServiceBehaviorAttribute));
                wcfCommunicationListener.ServiceHost.Description.Behaviors.Add(new ServiceBehaviorAttribute() { InstanceContextMode = InstanceContextMode.PerSession});                    
                return wcfCommunicationListener;
             }   
            )
       }; 
    }

最新更新