Мне не удается выполнить вызовы On Premise API из MS Bot (v4) C # после развертывания в Azure. Вызов API On Premise работает нормально при локальном тестировании с эмулятором.
В соответствии с рекомендацией службы поддержки Microsoft, я уже пытался использовать канал Direct Line для веб-чата, но это не помогает.
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
HttpWebRequest webRequest = HttpWebRequest.CreateHttp(updatedURL);
webRequest.Method = currentStep.StepsServiceCall.Method;
webRequest.ContentType = "application/json";
webRequest.KeepAlive = true;
if (!String.IsNullOrEmpty(currentStep.StepsServiceCall.Headers))
{
string updatedJson = currentStep.InjectPropertyValuesJson(currentStep.StepsServiceCall.Headers, properties);
webRequest.ContentLength = updatedJson.Length;
using (var streamWriter = new StreamWriter(webRequest.GetRequestStream()))
{
streamWriter.Write(updatedJson);
streamWriter.Flush();
streamWriter.Close();
}
}
using (HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse)
{
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string content = reader.ReadToEnd();
return await currentStep.ProcessResponseText(context, cancellationToken, content);
}
Ошибка ниже из журналов службы приложений Azure.
Microsoft.Bot.Builder.Integration.AspNet.Core.BotFrameworkHttpAdapter: Обнаружено исключение: при отправке запроса произошла ошибка. Ошибка 12029 при вызове WINHTTP_CALLBACK_STATUS_REQUEST_ERROR «Не удалось установить соединение с сервером».