Service Fabric具有WCF通信的可靠服务



我没有找到一个使用WCFCommunicationListener的Stateful Reliable Service示例。我想我的脱节是你执行运营合同的地方。是在主服务类中完成的吗?您不能将svc文件添加到服务中,所以我认为它必须是在客户端调用WCFCommunicationListener时触发的其他类。

是的,它是在主服务类上以编程方式完成的。如果你遵循这个文档,应该很简单:https://azure.microsoft.com/en-us/documentation/articles/service-fabric-reliable-services-communication-wcf/

基本上就是这样:

[ServiceContract]
interface IAdderWcfContract
{
    //
    // Adds the input to the value stored in the service and returns the result.
    //
    [OperationContract]
    Task<double> AddValue(double input);
    //
    // Resets the value stored in the service to zero.
    //
    [OperationContract]
    Task ResetValue();
    //
    // Reads the currently stored value.
    //
    [OperationContract]
    Task<double> ReadValue();
}
class MyService: StatefulService, IAdderWcfContract
{
    ...
    CreateServiceReplicaListeners()
    {
        return new[] { new ServiceReplicaListener((context) =>
            new WcfCommunicationListener<IAdderWcfContract>(
                wcfServiceObject:this,
                serviceContext:context,
                //
                // The name of the endpoint configured in the ServiceManifest under the Endpoints section
                // that identifies the endpoint that the WCF ServiceHost should listen on.
                //
                endpointResourceName: "WcfServiceEndpoint",
                //
                // Populate the binding information that you want the service to use.
                //
                listenerBinding: WcfUtility.CreateTcpListenerBinding()
            )
        )};
    } 
    // implement service methods
    ...
}

最新更新