盆景网站建设swot分析,会计是做什么的,权威的合肥网站推广,大连网站建设我使用VS Code开发已经有蛮长一段时间了#xff0c;时间长了#xff0c;越来越喜欢VS Code#xff0c;虽然有些时候会没有传统的VS方便#xff0c;比如开发Azure Function时你需要编写一下launch.json#xff0c;而且你需要手动启动StorageEmulator#xff0c;但是也正是…我使用VS Code开发已经有蛮长一段时间了时间长了越来越喜欢VS Code虽然有些时候会没有传统的VS方便比如开发Azure Function时你需要编写一下launch.json而且你需要手动启动StorageEmulator但是也正是由于缺少VS的自动配置需要你自己手动把环境一步步搭建出来也让自己更加理解一些框架和技术。
最近练习做一个简单的docker image并且想做一个windows上的image但是下载一个server core的image让我崩溃了虽然能够下载但是那个速度简直疯掉了等待一个晚上下载完成后我做了一个image需要upload到ACR那个叫龟速而且我稍微一改代码就要重新build重新docker build重新docker push。虽然我的layer很小而且ACR也选择了离我最近的region创建的但是一次push我都可以完成一杯咖啡了。
后来我突然想到了VSCode的Remote功能立刻在云端创建了一台linux虚机在上面做开发瞬间感觉到了云时代的优势了虽然我的虚机配置很低但整个docker buildpush过程比在本地快了起码10倍而且VScode的remote体验很好基本感觉不到在remote的感觉。
所以我想在这篇博客里介绍了一下如何在VSCode Remote环境下开发Teams Bot。如果你还没有remote环境的话可以参考 这个 来搭建一个remote的开发环境然后安装最新的 dotnet SDK
先ssh到远程我们先创建一个简单的webapi
$ mkdir test-bot
$ cd test-bot
$ dotnet new webapi在VSCode里打开这个远程folder。打开test-bot.csproj增加这两个package ItemGroupPackageReference IncludeMicrosoft.Bot.Builder.Integration.AspNet.Core Version4.9.2 //ItemGroup打开Startup.cs文件简化Configure方法 public void Configure(IApplicationBuilder app, IWebHostEnvironment env){app.UseRouting();app.UseEndpoints(endpoints {endpoints.MapControllers();});}到controller目录下创建一个新的BotController.cs
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Bot.Builder;
using Microsoft.Bot.Builder.Integration.AspNet.Core;
using Microsoft.Bot.Schema;namespace test_bot.Controllers
{[Route(api/messages)][ApiController]public class BotController : ControllerBase{private static readonly IBotFrameworkHttpAdapter Adapter new BotFrameworkHttpAdapter();[HttpPost, HttpGet]public async Task PostAsync(){await Adapter.ProcessAsync(Request, Response, new EchoBot());}}public class EchoBot : ActivityHandler{protected override async Task OnMessageActivityAsync(ITurnContextIMessageActivity turnContext, CancellationToken cancellationToken){var replyText $Echo: {turnContext.Activity.Text};await turnContext.SendActivityAsync(MessageFactory.Text(replyText, replyText), cancellationToken);}}
}我还需要一个工具ngrok先在remote运行下面这个命令安装ngrok然后启动ngrok
$ sudo snap install ngrok
$ ngrok http 5000在本地启动bot emulator增加一个bot endpoint输入上面ngrok产生的一个url 因为我们是用本机的bot emulator连到另一台机器的bot service所以我们本地的bot emulator需要配置本地ngrok的路径如下图 完成后我们就可以在emulator里打开这个bot发送文字然后就可以收到你的remote bot的回复了。 :D