基于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;
}
)
};
}