У меня есть служба 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 ()