如何通过传递端点和凭据作为参数将 WCF 客户端注入到 ServiceCollection 中?
How to inject WCF client into ServiceCollection with passing endpoint and credentials as parameters?
目前我们正在远离 Castle Windsor 容器,我一直在努力寻找如何将 WCF 客户端注入 .NET Core 中的服务集合的示例 Startup.cs。有人知道如何通过传递端点和凭据来做到这一点吗?
以下是 Castle Windsor 容器的处理方式:
container.Register(Component.For<IUserServiceV1>()
.AsWcfClient(new DefaultClientModel
{
Endpoint = WcfEndpoint.BoundTo(new BasicHttpsBinding(BasicHttpsSecurityMode.TransportWithMessageCredential) { MaxReceivedMessageSize = 2147483647, ReceiveTimeout = new TimeSpan(0, 0, 5, 0), CloseTimeout = new TimeSpan(0, 0, 5, 0), OpenTimeout = new TimeSpan(0, 0, 5, 0), SendTimeout = new TimeSpan(0, 0, 5, 0) })
.At($"{userService.Url}/Services/UserService.svc")
}
.Credentials(new Castle.Facilities.WcfIntegration.Behaviors.UserNameCredentials(userService.Username, userService.Password)))
.LifestyleTransient());
我想使用 .NET Core Microsoft.Extensions.DependencyInjection。
从代码片段来看,服务器端的 WCF 服务是由 BasichttpsBinding 使用 TransportWithMessageCredential 安全模式创建的,并使用 username/password.
对客户端进行身份验证
据我所知,它与 Asp.net 核心项目不兼容。也就是说,它无法在 Asp.net 核心项目中正常使用。所以不可行。
官方仓库。
https://github.com/dotnet/wcf/issues/8
我想了解更多服务端的服务详情
如果有什么我可以帮忙的,请随时告诉我。
目前我们正在远离 Castle Windsor 容器,我一直在努力寻找如何将 WCF 客户端注入 .NET Core 中的服务集合的示例 Startup.cs。有人知道如何通过传递端点和凭据来做到这一点吗?
以下是 Castle Windsor 容器的处理方式:
container.Register(Component.For<IUserServiceV1>()
.AsWcfClient(new DefaultClientModel
{
Endpoint = WcfEndpoint.BoundTo(new BasicHttpsBinding(BasicHttpsSecurityMode.TransportWithMessageCredential) { MaxReceivedMessageSize = 2147483647, ReceiveTimeout = new TimeSpan(0, 0, 5, 0), CloseTimeout = new TimeSpan(0, 0, 5, 0), OpenTimeout = new TimeSpan(0, 0, 5, 0), SendTimeout = new TimeSpan(0, 0, 5, 0) })
.At($"{userService.Url}/Services/UserService.svc")
}
.Credentials(new Castle.Facilities.WcfIntegration.Behaviors.UserNameCredentials(userService.Username, userService.Password)))
.LifestyleTransient());
我想使用 .NET Core Microsoft.Extensions.DependencyInjection。
从代码片段来看,服务器端的 WCF 服务是由 BasichttpsBinding 使用 TransportWithMessageCredential 安全模式创建的,并使用 username/password.
对客户端进行身份验证
据我所知,它与 Asp.net 核心项目不兼容。也就是说,它无法在 Asp.net 核心项目中正常使用。所以不可行。
官方仓库。
https://github.com/dotnet/wcf/issues/8
我想了解更多服务端的服务详情
如果有什么我可以帮忙的,请随时告诉我。