在Azure Web Apps發行時進行進行程式碼異動比較

在Azure Web Apps發行時進行進行程式碼異動比較

使用版本控管(Version Control)(不論使用git、TFS、Visual Studio Online等管理系統)之後,異動的比較(Code Compare)是一個非常實用的功能,重點在於能即時與伺服器端版本控管進行程式碼比較,這絕對不是本機式比較軟體(如:http://winmerge.org/)所能比的上的。

今天無意中發現一個發行Azure Web Apps(之前稱Azure Websites)時好用的比較小技巧。可以在進行Azure的發行動作中進行比較的動作,等於是可以進行最後的確認動作。

需求:web.config的組態切換

我的需求是這樣,我的web.config針對Debug與Release有不同的組態設置,最常見的需求就是connectionString,Debug組態連接LoadDB或測試資料庫,Release組態切換至正式資料庫。原本的測試方式很笨,就是切換Debug或Release模式,然後執行網站,看看讀取對應的組態內容是否正確。

發行網頁 - 預覽

在Azure Web Apps提供發行與發行的差異預覽,之前都一直誤以為這只是個檔案更新清單

Azure web apps Publish Preview

今天突然好奇的去點擊了我那由Debug切換至Release的web.config組態檔,結果:

Azure web apps publish code compare

跑出了預覽變更視窗。這個技巧能用在所有文字類型的檔案上,例如:.cshtml / .js / .css。目前使用在像 Web.config 或重點更新的檔案幫了不小的忙,好幾次都是直接在預覽變更就發現問題,而省下不必要的浪費。例如上圖,從比較的結果就能知道組態檔的值已經替換成功,這一點反而是方案總管中的原始檔比較無法做到的

Dino的指點,這個程式碼比對更精確的說是「Web Deploy」所提供的功能,是個發怖前程式碼比對功能。

解決.svg無法在Azure websites載入顯示的問題

解決.svg無法在Azure websites載入顯示的問題

SVG稱可縮放的向量圖形,它本身有兩種格式,一種是XML格式,簡單想,它就如同一般HTML tag一樣,在網頁的中它使用<svg></svg>標籤。

SVG的XML格式

以下是使用wiki上的範例程式碼,你只要使用<svg></svg>標籤,就能在網頁上畫面你想要的任何向量圖。

  <!DOCTYPE html>
  <html lang="en">
  <head>
   <meta charset="UTF-8">
   <title>Document</title>
  </head>
  <body>
   <svg xmlns="http://www.w3.org/2000/svg" version="1.1" 
      width="467" height="462">
     <!-- This is the red square: -->
     <rect x="80" y="60" width="250" height="250" rx="20" fill="red"
           stroke="black" stroke-width="2px" />
     <!-- This is the blue square: -->
     <rect x="140" y="120" width="250" height="250" rx="40" fill="blue"
           stroke="black" stroke-width="2px" fill-opacity="0.7" />
  </svg>
  </body>
  </html>  
 

ASP.NET Web API 文件產生器(2) - Swagger

ASP.NET Web API 文件產生器(2) - Swagger

前一篇,我們使用ASP.NET Web API範本內建的Help Page快速產出即時的Web API文件,不過在APP Service - API App我們可以發現,微軟在未來的API App範本使用另一個Swagger,接下來我們來看看如何在現有的ASP.NET Web API專案中導入使用Swagger。

在ASP.NET Web API整合Swagger

Swagger是100% Open Source的軟體,它不只能快速產生Web API文件(有好看的UI),而且能直接透過JSON或YAML進行Web API的匯入與匯出,並且可以快速的對你的Web API進行測試,不論此Web API是在本機或是遠端。

  • Swagger UI 你可以試著操作Swagger的界面。
  • Swagger Editor 可以使用JSON或YAML進行Web API的定義描敘,你可以隨意修改看看即時效果。

ASP.NET Web API 文件產生器(1) - Help Page

ASP.NET Web API 文件產生器(1) - Help Page

開發ASP.NET Web API有個很重要的問題,就是文件的撰寫,但開發者都知道,我們希望把心力放在ASP.NET Web API應用程式上面而非文件,原因很簡單:改變是容易的。但如何即時反應程式上的修改,這就不是一件容易工作。

Help Page

在Visual Studio 2013,如果一開始就選擇Web API專案,那麼從專案一開始你就會擁有一個強大的Web API文件產生器,Web API文件產生器由Yao - MSFT針對ASP.NET Web API所設計。

Help Page - Areas目錄

啟動Web API範本會發現比MVC範本一個【API】的連結。

API連結

進入後可以看到Yao設計的ApiExplorer會動態解析目前專案下繼承ApiController的Controller的API方法。

API清單

點擊任一API方法,可以看到更進一步的訊息。

API詳細資訊

如果讀者有跟著做或玩過Help Page會覺得這也太陽春了吧!對,這是因為我們還沒有提供足夠的資訊給ApiExplorer。

安裝Windows 7/8出現0x800300024錯誤

速記 - 安裝Windows 7/8出現0x800300024錯誤

最近重新安裝Windows 8,結果過程非常不順利,一直卡在安裝系統前的磁碟分割那一段,會出現一個0x800300024的錯誤。

解決辦法很簡單:暫時移除要安裝系統磁之外所有HDD/SSD。也就是讓磁碟分割那裡剩一顆硬碟。

標題會有Windows 7是因為,Google的時候,好像一堆Windows 7也有此問題。

此篇到此,真速記也。