Вызов конечной точки WCF из функции Azure
У меня есть функция v2 Azure, написанная в ядре dotnet. Я хочу позвонить в устаревшую конечную точку WCF, например:
basicHttpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
var factory = new ChannelFactory<IMyWcfService>(basicHttpBinding, null);
factory.Credentials.UserName.UserName = "foo";
factory.Credentials.UserName.Password = "bar";
IMyWcfService myWcfService = factory.CreateChannel(new EndpointAddress(new Uri(endpointUri)));
ICommunicationObject communicationObject = myWcfService as ICommunicationObject;
if ( communicationObject != null)
communicationObject.Open();
try
{
return await myWcfService.GetValueAsync());
}
finally
{
if (communicationObject != null)
communicationObject.Close();
factory.Close();
}
Это работает, когда я вызываю его из модульного теста, поэтому я знаю, что код хорошо работает в Windows 10. Однако, когда я отлаживаюсь в хосте func, я получаю пропущенные исключения зависимостей. Я скопировал две DLL: System.Private.Runtime
а также System.Runtime.WindowsRuntime
в каталог in, но достигли конца строки за исключением
Не удалось загрузить тип 'System.Threading.Tasks.AsyncCausalityTracer' из сборки 'mscorlib'
Это похоже на кроличью нору, которую я не хочу делать. Кто-нибудь успешно вызывал службу Wcf из функции Azure? Какие зависимости я должен добавить, чтобы заставить работать?