日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在VSCode Remote环境下开发Teams Bot

發(fā)布時(shí)間:2023/12/9 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在VSCode Remote环境下开发Teams Bot 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我使用VS Code開發(fā)已經(jīng)有蠻長一段時(shí)間了,時(shí)間長了,越來越喜歡VS Code,雖然有些時(shí)候會(huì)沒有傳統(tǒng)的VS方便,比如開發(fā)Azure Function時(shí)你需要編寫一下launch.json,而且你需要手動(dòng)啟動(dòng)StorageEmulator,但是也正是由于缺少VS的自動(dòng)配置,需要你自己手動(dòng)把環(huán)境一步步搭建出來,也讓自己更加理解一些框架和技術(shù)。

最近練習(xí)做一個(gè)簡單的docker image,并且想做一個(gè)windows上的image,但是下載一個(gè)server core的image讓我崩潰了,雖然能夠下載,但是那個(gè)速度簡直瘋掉了,等待一個(gè)晚上下載完成后,我做了一個(gè)image需要upload到ACR,那個(gè)叫龜速,而且我稍微一改代碼就要重新build,重新docker build,重新docker push。雖然我的layer很小,而且ACR也選擇了離我最近的region創(chuàng)建的,但是一次push我都可以完成一杯咖啡了。

后來,我突然想到了VSCode的Remote功能,立刻在云端創(chuàng)建了一臺(tái)linux虛機(jī),在上面做開發(fā),瞬間感覺到了云時(shí)代的優(yōu)勢了,雖然我的虛機(jī)配置很低,但整個(gè)docker build,push過程比在本地快了起碼10倍,而且VScode的remote體驗(yàn)很好,基本感覺不到在remote的感覺。

所以我想在這篇博客里介紹了一下,如何在VSCode Remote環(huán)境下開發(fā)Teams Bot。如果你還沒有remote環(huán)境的話,可以參考?這個(gè)?來搭建一個(gè)remote的開發(fā)環(huán)境,然后安裝最新的?dotnet SDK

先ssh到遠(yuǎn)程,我們先創(chuàng)建一個(gè)簡單的webapi

$ mkdir test-bot $ cd test-bot $ dotnet new webapi

在VSCode里打開這個(gè)遠(yuǎn)程folder。打開test-bot.csproj,增加這兩個(gè)package

<ItemGroup><PackageReference Include="Microsoft.Bot.Builder.Integration.AspNet.Core" Version="4.9.2" /></ItemGroup>

打開Startup.cs文件,簡化Configure方法

public void Configure(IApplicationBuilder app, IWebHostEnvironment env){app.UseRouting();app.UseEndpoints(endpoints =>{endpoints.MapControllers();});}

到controller目錄下,創(chuàng)建一個(gè)新的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(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken){var replyText = $"Echo: {turnContext.Activity.Text}";await turnContext.SendActivityAsync(MessageFactory.Text(replyText, replyText), cancellationToken);}} }

我還需要一個(gè)工具ngrok,先在remote運(yùn)行下面這個(gè)命令安裝ngrok,然后啟動(dòng)ngrok

$ sudo snap install ngrok $ ngrok http 5000

?

在本地啟動(dòng)bot emulator,增加一個(gè)bot endpoint,輸入上面ngrok產(chǎn)生的一個(gè)url

?

因?yàn)槲覀兪怯帽緳C(jī)的bot emulator連到另一臺(tái)機(jī)器的bot service,所以我們本地的bot emulator需要配置本地ngrok的路徑,如下圖:

?

完成后,我們就可以在emulator里打開這個(gè)bot,發(fā)送文字,然后就可以收到你的remote bot的回復(fù)了。 :D

?

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的在VSCode Remote环境下开发Teams Bot的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。