У меня есть веб-приложение .NET Core 2.0, которому требуется доступ к веб-службе по ссылке WCF.
Проблема в том, что ссылка WCF не работает с .NET Core. Итак, я создал консольное приложение .NET Framework, чтобы добавить ссылку на WCF. Я добавил консольное приложение в решение с помощью веб-приложения .NET Core 2.0.
Когда я устанавливаю консольное приложение в качестве запускаемого проекта и запускаю его, веб-служба возвращает желаемое значение. Работает идеально.
Итак, я добавил ссылку на консольное приложение в веб-приложение .NET Core и попытался вызвать тот же метод. Не работает.
Это метод, который вызывает метод веб-службы WCF в моем консольном приложении:
public static string GetToken()
{
try
{
var client = new service.CFCGateway();
var credential = new service.validaUsuarioExternoEnvDTO();
credential.login = "xxxxxxx";
credential.senha = "xxxxxxx";
var result = client.validaUsuarioExterno(credential);
return result.passaporte;
}
catch (Exception ex)
{
return null;
}
}
И вот что я делаю для вызова метода консольного приложения:
string token = consoleapp.Services.GetToken();
Проверка с точкой останова, когда код достигает этой строки:
var client = new service.CFCGateway();
Я получаю эту ошибку:
Object reference not set to an instance of an object.
at System.Web.Services.Protocols.SoapClientType..ctor(Type type)
at System.Web.Services.Protocols.SoapHttpClientProtocol..ctor()
Есть идеи, что я делаю не так?