C# 连接到脱机directline路由到基于Microsoft bot Framework的本地echo bot

C# 连接到脱机directline路由到基于Microsoft bot Framework的本地echo bot,c#,asp.net-web-api,botframework,direct-line-botframework,line-messenger,C#,Asp.net Web Api,Botframework,Direct Line Botframework,Line Messenger,我想使用本地环境上托管的pierre3提供的API包装器创建一个行消息传递bot Line消息服务~~POST~~~>WebApi.Net~X->Offline Directline-->Echobot(Bot框架) 我正在使用节点包“offline directline”,它应该能够路由 发送到本地bot的消息,该消息是从中捆绑的Echobot模板创建的 Microsoft框架扩展 这是打印在节点终端上的文本: Offline-Directline: Listening for message

我想使用本地环境上托管的pierre3提供的API包装器创建一个行消息传递bot

Line消息服务~~POST~~~>WebApi.Net~X->Offline Directline-->Echobot(Bot框架)

我正在使用节点包“offline directline”,它应该能够路由 发送到本地bot的消息,该消息是从中捆绑的Echobot模板创建的 Microsoft框架扩展

这是打印在节点终端上的文本:

Offline-Directline: Listening for messages from client on http://127.0.0.1:3000
Routing messages to bot on http://localhost:3978/api/messages
到目前为止,我的webapi能够接收来自Line Messeng服务的请求

问题是我不知道如何从webapi连接到脱机directline

DirectLineClient不会引发异常,但 每当webapi执行StartConversationAsync()时,会话总是返回null

我可以确认我的Echobot正在工作,因为我可以使用Bot Framework Emulator与它进行交互

var uri=新uri(“http://localhost:3978/api/messages");
var cred=新的DirectLineClientCredentials(空,http://localhost:3000/directline");
this.dlClient=新的DirectLineClient(uri,cred);
var conversation=wait dlClient.Conversations.StartConversationAsync();
//这总是返回null
我希望当我通过Line Messenger发送文本“hello world”时, 机器人将在在线Messenger上以相同的文本“hello world”进行响应

至于其他信息,我不确定这是否相关: Line Messaging Api包装器需要使用Azure blob存储。 我没有在线Azure Blob存储,而是使用Storage Emulator并将连接字符串设置为“UseDevelopmentStorage=true”。 我假设这是可行的,因为我已经检查了CloudBlobClient的实例不为null,并且它包含指向本地emulator的有效uri

--

我已经坚持了好几个小时了,但仍然没有任何线索。
任何帮助都将不胜感激。

AFAIK要使Line bot重播到消息,您需要向Line API发送一条
replay_消息
,这是一个HTTP请求,发送到
https://api.line.me/v2/bot/message/reply
但是首先你需要抓取在webhook中发送给你的消息的
replyToken
,我做了一个king示例但是使用PHP,向下滚动到答案的行部分,它可以提供一些想法。我已经在没有使用Microsoft bot框架的情况下制作了一个工作行bot。我遇到的问题是“directline”“部分,这是一个与Bot框架相关的问题,但是,无论如何,谢谢你提供的信息!”几个问题:您确定脱机directline正在为您生成令牌吗?除了“UseDevelopmentStorage”之外,您还配置了其他设置吗?这是存储模拟器的设置还是其他设置?连接字符串等是否在行包装器中完全表示?