Приложение UWP не может подключиться к сервису Wcf с помощью net.tcp - PullRequest
0 голосов
/ 03 июля 2018

У меня есть служба Wcf, которая успешно используется приложением WinForm и сайтом asp.net внутри интрасети. Сейчас я переписываю приложение WinForm в приложение Uwp. У меня установлена ​​последняя версия Framework 4.7.2 и Net.Core 2.1. Как я могу использовать мой сервис от Uwp? Я попытался подключиться к своему сервису, используя:

        var binding = new NetTcpBinding(SecurityMode.Transport);
        binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows;
        WcfService.WcfServiceClient wcf_client = new
                        WcfService.WcfServiceClient();
        wcf_client.Endpoint.Binding = binding;
        wcf_client.Endpoint.Address = new System.ServiceModel.EndpointAddress("net.tcp://server:8089/TeamCity");
        wcf_client.ClientCredentials.Windows.ClientCredential.UserName = "user";
        wcf_client.ClientCredentials.Windows.ClientCredential.Password = "password";

После того, как я позвоню в мою службу:

var towers = await wcf_client.GetTowersAsync();

Я получаю ошибку:

в System.Runtime.AsyncResult.End [TAsyncResult] (результат IAsyncResult) в System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End (результат SendAsyncResult) в System.ServiceModel.Channels.ServiceChannel.EndCall (действие String, выходы Object [], результат IAsyncResult) в System.ServiceModel.Channels.ServiceChannelProxy.TaskCreator. <> c__DisplayClass1_0.b__0 (IAsyncResult asyncResult) --- Конец стека трассировки от предыдущего места, где было сгенерировано исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Задача) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult () в UwpApp.MainPage.d__1.MoveNext () --- Конец стека трассировки от предыдущего места, где было сгенерировано исключение --- в System.Runtime.CompilerServices.AsyncMethodBuilderCore. <> c.b__6_0 (состояние объекта) в System.Threading.WinRTSynchronizationContext.Invoker.InvokeCore ()

...