Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 記錄軟體開發的點點滴滴 著重於微軟技術、網頁開發、DevOps、C#, Asp .net Mvc、Azure、AI、Chatbot、Docker、Data Science

[faq]如何故障排除ASP .NET Core網站啟動失敗問題

[faq]如何故障排除ASP .NET Core網站啟動失敗問題.jpg
圖片來源:https://pixabay.com/en/despair-alone-being-alone-archetype-513528/

辛辛苦苦開發的Asp .Net Core網站做完了,在local測試也沒什麽問題了,接下來肯定是要發佈到正式機器讓世界看看你的傑作。

但是,當發佈到Azure Web App上面,卻出現了An error occurred while starting the application,然後其他除了執行環境訊息之外什麽訊息都沒有。

這個時候該怎麽辦?我只是想要把網站run起來怎麽那麽困難!!!

這篇將介紹如何偵錯這類的問題。

看全文>>


[.net core]如何在開發階段透過Visual Studio設定不同的執行環境 (環境變數)

[.net core]如何在開發階段透過Visual Studio設定不同的執行環境 (環境變數).jpg
圖片來源:https://pixabay.com/en/despair-alone-being-alone-archetype-513528/

在上一篇([faq]ASP .NET Core 如何在開發的情況下讓Controller不需要過Authorization (驗證))介紹了如何透過當執行環境是Development的時候不要過驗證。

透過那樣的設定可以讓開發者在開發階段的時候不用擔心驗證的部分。不過有時候需要把驗證的部分一起考慮進去怎麽辦?

例如想要做整合測試,確保需要權限的api邏輯沒有錯誤的時候怎麽辦?總不能夠直接打staging的機器吧。

這件事情其實在Visual Studio可以很容易的辦到,來看看如何切換執行環境。

看全文>>


[faq]ASP .NET Core 如何在開發的情況下讓Controller不需要過Authorization (驗證)

ASP .NET Core 如何在開發的情況下讓Controller不需要過Authorization (驗證).jpg
圖片來源:https://pixabay.com/en/key-tag-security-label-symbol-2114047/

最近常開發以及維護ASP .NET Core Web API的網站,其中一個會遇到問題就是,如何在開發的情況下繞過驗證/授權(Authorization)

這篇將介紹,如何透過設定的方式一次開啓驗證以及不驗證。

看全文>>


[faq]Windows 1803之後git for windows無法透過Start-SshAgent啓用ssh agent - 需要一直輸入passphrase的問題

[faq]Windows 1803之後git for windows無法透過Start-SshAgent啓用ssh agent - 需要一直輸入passphrase的問題.jpg
圖片來源:https://pixabay.com/en/despair-alone-being-alone-archetype-513528/

還記得之前有一篇介紹git for windows最新版本的Credential Manager有問題導致沒有辦法和遠端repo溝通(Windows安裝 git 2.19.1 之後做git clone-pull-push出現)。透過那一篇,理論上和遠端repo驗證就沒什麽問題了。

不過我自己在使用的時候發現,不知道爲什麽Azure DevOps的repo雖然跳出來輸入的是正確的帳號和密碼,但是git就是出現驗證失敗(github就不會)。

好吧,那換一種驗證方式,改成使用ssh。

不過用ssh又遇到另外一個問題,每一次和遠端溝通都要輸入passphrase超級麻煩,這個時候突然想起以前寫過(何謂ssh,在Windows下如何使用ssh,如何在Windows透過ssh下載和上傳程式到github)透過ssh agent不用一直輸入密碼。

興奮的打開那一篇,學著裡面輸入Start-SshAgent,結果出現了error:1058

什麽鬼,難道不能夠讓我開開心心的pull/push然後不輸入密碼嗎?

這篇將來介紹到底在Windows 1803之後做了什麽導致ssh agent啓動不起來。

看全文>>


[Bot Framework V4][10]在Dialog裡面做Branching以及Looping把不同功能更加模組化

[Bot Framework V4][10]在Dialog裡面做Branching以及Looping把不同目的更加模組化.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([09]使用waterfall建立表單式填寫)介紹了使用watfall的方式達到建立一個表單式搜集的chatbot。

裡面爲了簡化把取得姓名的部分暫時拿掉了,但是在實務上不同邏輯的dialog可能會存在,那怎麽辦呢?

這篇將介紹透過Dialog來做Branching以及Looping。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbotv4:blog/chapter-10

看全文>>


[faq]Windows安裝 git 2.19.1 之後做git clone/pull/push出現NullReferenceException錯誤的問題解決方式

[faq]Windows安裝 git之後做git push出現NullReferenceException錯誤的問題解決方式.jpg
圖片來源:https://pixabay.com/en/despair-alone-being-alone-archetype-513528/

最近在一臺乾净的電腦裡面重新安裝了開發環境,git作爲版控工具肯定是首選要裝的工具之一。

環境准備好了之後,當然就是要clone專案下來開始開發,可是竟然出現了fatal: NulIReferenceException encountered. Object reference not set to an instance of an object.

太詭異了吧,用了git這麽多年還沒有遇到過這種問題,到底要怎麽處理呢?

看全文>>


[Bot Framework V4][09]使用waterfall建立表單式填寫

[Bot Framework V4][09]使用waterfall建立表單式填寫.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([08]改用TextPrompt詢問使用者姓名)使用TextPrompt來取得使用者的姓名,感覺起來好像和自己維護狀態沒什麽兩樣,因爲還是需要透過if else來呼叫。

這樣Dialogs還有意義嗎?

這篇將會介紹另外一種使用情景,有時候需要搜集使用者的資料,例如説他要訂房的話會需要搜集他要訂什麽時間,住幾個晚上等等,這個時候Dialog就變得更加方便。

這篇將介紹如何透過waterfall來達到這個效果。

在V3版本有所謂的FormFlow,waterfall dialog做出來有點類似一樣的概念,有興趣可以看看:[07]使用FormFlow讓Chatbot搜集表單資訊更容易
這篇的程式碼github頁面是alantsai-samples/mhat-hotelbotv4:blog/chapter-09

看全文>>