我在Visual Studio 15.4上运行的.Net Standard Asp.net Core 2.0中有无状态服务调用的状态服务。 我无法使Service Remoting V2工作。
适用于V1的有状态服务中的旧代码无效
protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
return new List<ServiceReplicaListener>()
{
new ServiceReplicaListener((context) =>this.CreateServiceRemotingListener(context))
};
我尝试按照tutorial进行操作,但示例适用于无状态。
我试图更改此代码但没有成功。
protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
return new List<ServiceReplicaListener>()
{
new ServiceReplicaListener((c) =>new FabricTransportServiceRemotingListener(c, this))
};
}
此外,在教程
中没有关于如何或在何处使用此代码的说明var proxyFactory = new ServiceProxyFactory((c) =>
{
return new FabricTransportServiceRemotingClientFactory();
});
我被困了,有人可以告诉我如何让它发挥作用吗?
答案 0 :(得分:10)
在有状态服务中,在方法protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
return this.CreateServiceRemotingReplicaListeners();
}
中,使用以下代码:
[assembly: FabricTransportServiceRemotingProvider(RemotingListener = RemotingListener.V2Listener, RemotingClient = RemotingClient.V2Client)]
在定义远程服务界面的文件中,添加以下内容:
using
(例如,在<Endpoint Name="ServiceEndpointV2" />
名称空间列表的正下方。)
添加端点: {{1}}
重建客户。