[ASP.NET] ASP.NET VNext – Self Host

  • 1753
  • 0

[ASP.NET] ASP.NET VNext – Self Host

ASP.NET vNEXT 已不再一定相依於 IIS而執行,就像 Web API 並不一定要依賴 IIS 才能運行,而 Self Host 方式也很簡單。開啟一個 VS14 的 vNext Web Application 專案範本,在前一篇文章中有提到 vNext 專案下會有一個 project.json 檔案,這個檔案除了記錄著專案裡組件的相依設定外,也允許執行一些命令的設定。直接開啟範本中的 project.json 檔案可以看見有個 command 的設定,這個 command 的設定就是進行 self host 的指令。

image

接著直接做 publish , publish 後的目錄會有個名為 web 的 windows command script 檔案,這個檔案名稱就是在 project.json 檔裡所給予的名稱,當然您可以修改成別的名稱就是了。要進行 self host 就必須先執行這個檔案。當出現 Started 字樣時,表示您的 ASP.NET 專案已經 Host 起來了。

image

 

此時開啟瀏覽器輸入 http://localhost:5000 (該port 號也是在project.json 檔裡所給予的),就可以看到整個 ASP.NET MVC Application 的運行。

image

 

為了證明這個 ASP.NET MVC Application 的運行是不依賴於 IIS ,筆者特地將IIS停用,並且未建立任何 PORT 為 5000 的網站。

image

 

透過 Self Host 的方式,可以把整個 Publish 出來的目錄放進 USB 中,就可以到任何一台電腦把 SITE 給 RUN 起來,主機上也不用安裝 IIS 。

此外 vNEXT 可允許隨時開啟程式檔案進行修改(即使是記事本也可以),不須重新 Rebuild 程式,只要 refresh 瀏覽器就可以看到修改後的結果,不過在目前的CTP版本,這個機制是有問題,筆者試了修改 Controller ViewBag.Message的回傳內容,仍必須重新啟用windows command script 檔案才會有作用。據了解這個問題在日後會進行修正。(https://github.com/aspnet/Home/issues/22)

 

ref :

http://blogs.msdn.com/b/webdev/archive/2014/06/03/asp-net-vnext-in-visual-studio-14-ctp.aspx

 

若本文對您有所幫助,歡迎轉貼,但請在加註【轉貼】及來源出處,並在附上本篇的超連結,感恩您的配合囉。

By No.18