Как внедрить клиента WCF в ServiceCollection с передачей конечной точки и учетных данных в качестве параметров? - PullRequest
0 голосов
/ 07 ноября 2019

В настоящее время мы уходим от контейнера 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.

1 Ответ

1 голос
/ 08 ноября 2019

Из фрагментов кода служба WCF на стороне сервера создается BasichttpsBinding с режимом безопасности TransportWithMessageCredential и аутентифицирует клиента с помощью имени пользователя / пароля.
Насколько я знаю, он не совместим с Asp. Чистый основной проект. А именно, его нельзя правильно использовать в проекте Asp.net Core. так что это невозможно.
enter image description here
Официальный репозиторий.
https://github.com/dotnet/wcf/issues/8
Я хотел бы узнать более подробную информацию об услуге на стороне сервера.
Не стесняйтесь, дайте мне знать, если есть что-то, с чем я могу помочь.

...