我正在使用带有 .net 核心的 Service Fabric 和 Service Fabric Remoting V2。我正在构建一个多租户应用程序,我想添加自定义标头以自动发送租户 ID。
我从这个问题的解决方案开始,它使用普通的 .net 框架和服务结构,但在 .net 核心的情况下,它甚至没有编译,因为带有 .net 核心的服务结构有不同的 API 和方法。
代码如下,不存在的 API 有很多情况:
客户端
- 代理工厂
var _proxyFactory = new ServiceProxyFactory(c => new ServiceRemotingClientFactoryWrapper(new WcfServiceRemotingClientFactory(callbackClient: c) ));
粗体类来自 Microsoft.ServiceFabric.Services.Wcf 包(除了nuget 站点中所说的),它要求我添加一个 System.ServiceModel Dll,它是一个完整的 .net 库,甚至不在所述的依赖项中。
- 解决方案中提供的 ServiceRemotingClientWrapper 包含一个名为ServiceRemotingMessageHeaders的类,根据文档,该类在服务远程处理类中,但它不存在。接口中的函数也采用了与上述演示不同的IServiceRemotingRequestMessage 。
服务器
类ServiceRemotingDispatcher应该在远程 Dll 中,但它不会退出。
最后,这个项目使用相同的方法来实现我的目标,它基于相同的 SOF 问题,但使用完整的 .net 框架并且它可以工作。链接到项目