Service Fabric Remoting 服务代理 DI
Service Fabric Remoting Service Proxy DI
我有一个 ASP.net 核心应用程序需要使用服务远程调用服务。
在我的 Startup
中做这样的事情是个好主意吗?:
services.AddSingleton<IHelloWorldService>(ServiceProxy.Create<IHelloWorldService>(new Uri("fabric:/Demo/HelloWorldService")));
据我所知,所有 ServiceProxy.Create()
都很漂亮 "simple" 并且只是代理调用 - 所以这听起来足够安全?
从代理对象将始终有效的意义上说,这样做是安全的。这样做的好处是你有一个非常熟悉的模式,你可以像在域驱动应用程序中一样注入服务接口。
如果 fabric:/Demo/HelloWorldService 是 partitioned,那么这不会很好,因为每个分区都需要一个新的代理。在这种情况下,您应该注入一个 IServiceProxyFactory,它可以用来为不同的分区创建代理,并且仍然可以模拟出来进行单元测试。
我有一个 ASP.net 核心应用程序需要使用服务远程调用服务。
在我的 Startup
中做这样的事情是个好主意吗?:
services.AddSingleton<IHelloWorldService>(ServiceProxy.Create<IHelloWorldService>(new Uri("fabric:/Demo/HelloWorldService")));
据我所知,所有 ServiceProxy.Create()
都很漂亮 "simple" 并且只是代理调用 - 所以这听起来足够安全?
从代理对象将始终有效的意义上说,这样做是安全的。这样做的好处是你有一个非常熟悉的模式,你可以像在域驱动应用程序中一样注入服务接口。
如果 fabric:/Demo/HelloWorldService 是 partitioned,那么这不会很好,因为每个分区都需要一个新的代理。在这种情况下,您应该注入一个 IServiceProxyFactory,它可以用来为不同的分区创建代理,并且仍然可以模拟出来进行单元测试。