【发布时间】:2017-02-28 12:29:19
【问题描述】:
我有一个无法解决的永久性问题。
似乎我的 dll 在一段时间后从内存中卸载了。
例如,当我在 30 分钟内不使用 bot,然后重新使用时,它需要一些时间才能响应,就像它被重新部署或 dll 不再在 RAM 中并且它在响应之前被重新加载。
有没有办法解决一段时间不使用机器人时的延迟?
更新:2017 年 3 月 1 日
要激活“始终开启”选项,必须传递付费报价。 由于我仍然在那里开发,我不能传递这个提议。 我找到了一个解决方案,可以通过创建一个每分钟发送消息的脚本来让我的 Bot 保持活动模式。 我的脚本在 c# 中,当我执行此脚本时,我收到授权错误。
var authValue = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes($"{MyMicrosoftAppId}:{MyMicrosoftAppPassword}")));
var client = new HttpClient()
{
DefaultRequestHeaders = { Authorization = authValue }
};
var jsonObject = new Rootobject()
{
type = "message",
id = "0a24ca1428074419a1679b37e0e3dd39",
timestamp = DateTime.Now,
serviceUrl = "http://localhost:9000/",
channelId = "emulator",
from = new From()
{
id = "2c1c7fa3",
name = "User1"
},
conversation = new Conversation()
{
isGroup = false,
id = "8a684db8",
name = "Conv1"
},
recipient = new Recipient()
{
id = "56800324",
name = "Bot1"
},
text = "ping",
attachments = new object[0],
entities = new object[0]
};
var content = new StringContent(jsonObject.ToString(), Encoding.UTF8, "application/json");
var result = client.PostAsync("http://emiko.azurewebsites.net/api/messages", content).Result;
result.ToString();
但我收到授权错误: StatusCode:401,ReasonPhrase:'未授权',版本:1.1,内容:System.Net.Http.StreamContent...
如何在 Bot 上正确登录并在其 Url 上发送消息 (http://emiko.azurewebsites.net/api/messages)
【问题讨论】:
标签: azure-web-app-service botframework