API网关中微服务的实例范围

时间:2019-07-16 10:45:56

标签: c# asp.net-core .net-core microservices azure-service-fabric

我想使用服务url将服务实例范围从Singleton更改为Transient(在其中创建每个请求的实例),但是出现编译时错误

下面是没有服务网址的工作代码

services.AddTransient(typeof(IUser), typeof(My.UserService));

下面是带有服务网址的单例作用域

services.AddSingleton(typeof(IUser), ServiceProxy.Create<IUser>(new Uri("fabric:/My.Microservices/MY.UserService")));

现在,我想使用像Singleton这样的服务URL将范围添加为Transient,

1 个答案:

答案 0 :(得分:0)

使用通用方法与工厂代表一起注册服务

services.AddTransient<IUser>(sp => 
    ServiceProxy.Create<IUser>(new Uri("fabric:/My.Microservices/MY.UserService"))
);

在上面的代码中,每次IUser被解析时,都会调用该委托。