我已將我的bot應用程序連接到Azure發佈的直接線路API。我目前正在使用命令行客戶端應用程序,bot框架模擬器以及我的機器人的dev.botframework.com主頁來測試應用程序。使用GET請求導致殭屍程序對話框失敗
一切正常,直到我嘗試提交GET請求到REST API。我已經在單獨的項目中測試了GET API請求,並且它在正確工作並且GET請求在實施直接線路信道之前工作。有沒有什麼我需要知道的時候使用機器人直接線上的http請求?
問題
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", headerParam);
var response = client.GetAsync(new Uri("someUrl.com/api/v1/auth")).Result;
string content = response.Content.ReadAsStringAsync().Result;
var jo = JObject.Parse(content);
this.token = jo["Result"]["Token"].ToString();
}
await context.PostAsync(this.token);
實際上導致失敗是
var response = client.GetAsync(new Uri("someUrl.com/api/v1/auth")).Result;
而且是有當它發佈到Azure和運行直接行API調試一個項目一個簡單的方法行代碼?
您的意思是說您已經爲Azure部署了一個webapi應用程序,該應用程序提供了調用[Direct Line REST API](https://docs.botframework.com/en-us/restapi/directline/)的自定義端點?您是否嘗試過使用[Fiddler](http://www.telerik.com/fiddler)在您的客戶端應用程序上捕獲網絡軟件包,或者利用[遠程調試](https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-dotnet-troubleshoot-visual-studio#a-nameremotedebugaremote-debugging-web-apps)。另外,詳細的錯誤信息和堆棧跟蹤是什麼? –
這是來自MSFT部署到Azure的bot框架的bot應用程序。使用我的客戶端應用程序,我可以通過直接線路REST API將消息發送到「智能機器人」。問題是發送一條消息「用帳戶x登錄」bot應用程序,然後創建一個httpClient來認證我自己的REST API。問題是調用'var response = client.GetAsync(new Uri(「someUrl.com/api/v1/auth」))。結果;'結果在'POST請求到「botendpointurl.com」失敗[500]內部服務器錯誤客戶端應用程序我看不到bot應用程序的狀態,因爲它運行在azure上 – Teragon
您的意思是您引用bot應用程序示例並將其部署到Azure Web應用程序,如果是這樣,您能否提供示例鏈接?我的理解是,你使用用戶信息與你的bot應用程序(web app back-end)進行請求,然後通過基本認證向你的自定義rest api發出一個請求,因爲你找到了代碼行,你可以用'try捕獲詳細的錯誤消息(內部異常,堆棧跟蹤)並將其輸出到您的客戶端應用程序,或者參考我之前的評論中的遠程調試**鏈接,以調試託管在Azure Web應用程序上的bot應用程序 –