寫程式的參考準測 (coding guideline) - C# 篇

  • 240
  • 0

曾有一些朋友問我,在微軟公司裡是否有寫程式的準則 (coding guideline).這件事因不同的團隊而異,大部份的團隊都會依循 MSDN 文件裡的建議,但並非每一個團隊都有文件記錄這些準則.以前我在 Windows 部門裡的某個團隊就正好有文件說明 C# coding guideline.除了 C# coding guideline 以外,還有其他的文件,例如 code review 文件, database 開發文件等等.在這篇文章中,我將從 C# coding guideline 開始寫起.這些 coding guideline 不是什麼秘密,很多都是來自 MSDN 的文件.若你的團隊也需要一份 C# coding guideline, 希望能派的上用場.

...繼續閱讀 »

有關 Task ConfigureAwait() 的一些事情

  • 368
  • 0

.Net Task 已經上市好幾年了,相信許多 .Net 開發者已經將它用在你的工作上.上星期我和另一個同事為了解決一些工作上有關效能的問題,我們便對一些 C# 程式碼開始用力地找一些能讓效率提升的地方,即便是一點點也好.我們採用的第一步方法是重新檢視這部份的程式碼.在檢視的過程中,其他的同事也參與並貢獻了一些他們所知的事情.其中有一個有趣的討論是有關 Task 的 ConfigureAwait().因此,這篇文章的內容將記錄與 ConfigureAwait() 有關的重點.
 

...繼續閱讀 »

ASP.NET Core MVC 的 Cache control 與 Response cache middleware - 上集

  • 338
  • 0

在 web 環境下,可以發生 cache 的地方有三種類型,第一是用戶端,也就是發出 HTTP request 的地方,簡單的說就是你電腦上的 Chrome, Firefox 這類的瀏覽器.第二是 network proxy,它是網路上的一種服務,可將內容暫存下來,通常是由你的 ISP 公司所提供的服務.第三是伺服器端,也就是 cache content 的來源產生地,也就是 HTTP response 的起源,簡單的說就是你灠覽器所連接的目的地.依目前的 HTTP 規格而言,ASP.NET Core 所能夠控制 cache 的地方就是這三個.Response cache middleware 是用在伺服器端用的元件,用來定義伺服器端 cache 的規則和行為.這篇文章將從用戶端的 cache 先談起,然後下一篇文章再談到伺服器端的 Response cache middleware.
 

...繼續閱讀 »

Visual Studio 2017 開發 Azure Functions v2 - .Net Standard 版本

  • 207
  • 0

在昨天 (11/15) Visual Studio 2017 開發 Azure Functions 的套件在 VS Market place 上公開了並且有一個貼文專門介紹它,正式地把這新版的套件釋出.有關 Azure functions 的功能和做法,相信有關於 Azure functions 的朋友們一定相當熟悉了.這一篇文章將介紹此新版套件的一些特點.正在用 Visual Studio 2017 上開發 Azure Functions 的朋友們,這篇文章適合你們來看.

...繼續閱讀 »

ASP.NET Core 2.0 的 Razor Page 下集

  • 461
  • 0
  • 2017-11-02

上集談論過了 Razor Page 的基本的想法和用法,其實你會發現若你熟悉 ASP.NET Core MVC Framework 的運作方式,Razor page 對你來說將是非常容易上手的東西.只要你把 Page Model 懂熟一點,許多功能以前能做的,現在也可以很快地做出來.

...繼續閱讀 »

C# 7.1 的 Async Main()

  • 1105
  • 0

在 C# 5.0 開始加入了 Task 並且發明新的關鍵字 async, await,讓寫非同步的程式變得相當簡便.不僅好寫,程式碼也好讀.從那之後,.Net Framework 和相關工具只要遇上 I/O 相關的 API 都會增加非同步的版本.例如寫資料到 StreamWriter 時多了 WriteLineAsync() 的非同步方式.

...繼續閱讀 »