色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

ASP.NET MVC3 on Mono的折騰(一):Windows下的部署

  Mono 2.10支持MVC3和Razor的消息著實(shí)讓我興奮了好一會(huì)兒,因?yàn)橹С諱VC3后,我就有可能做Kooboo CMS3兼容Mono的相關(guān)測(cè)試工作。可是沒(méi)一會(huì)兒,我就發(fā)現(xiàn),離我的目標(biāo)還是有一點(diǎn)距離。不曉得是Mono 2.10本身存在的bug,還是我的原因,我總是無(wú)法很完美的在Mono運(yùn)行起MVC3的站點(diǎn),即使是用默認(rèn)的MVC3站點(diǎn)模板創(chuàng)建的非常簡(jiǎn)單的站點(diǎn)也是一樣。長(zhǎng)期生活在微軟Windows/.NET平臺(tái)的滋潤(rùn)環(huán)境中,沒(méi)有Linux平臺(tái)的使用經(jīng)驗(yàn)和基于配置文件的Web部署習(xí)慣,讓我花了不少的時(shí)間來(lái)解決原本很簡(jiǎn)單的問(wèn)題的。從使用XSP失敗,到折騰Windows下使用Nginx+FastCGI來(lái)Host ASP.NET MVC3站點(diǎn),之后再花了半個(gè)周末如癡如醉的研究openSUSE下的Mono部署。雖然沒(méi)有解決MVC3的運(yùn)行問(wèn)題,但是總算還是搞清楚了如何在Mono部署ASP.NET站點(diǎn),以及簡(jiǎn)單的linux平臺(tái)(openSUSE)操作。下面就簡(jiǎn)單的記錄一下這些艱難歷程:

  環(huán)境準(zhǔn)備

  在VS2010,用默認(rèn)的MVC3站點(diǎn)模板創(chuàng)建一個(gè)簡(jiǎn)單MVC站點(diǎn),有簡(jiǎn)單的首頁(yè)和登錄頁(yè)面,并且在Bin下面要私有部署MVC3的相關(guān)依賴(lài)程序集除了Microsoft.Web.Infrastructure.dll。站點(diǎn)下載

  1.使用Mono 2.10的XSP服務(wù)器失敗

  Mono支持跨平臺(tái),當(dāng)然包括Windows平臺(tái),而且在Windows平臺(tái)下面,它也提供了一種非常簡(jiǎn)單的方式來(lái)讓我們方便的通過(guò)Mono啟動(dòng)Web站點(diǎn),就這是XSP。在Mono安裝成功之后,它會(huì)在目錄的右鍵菜單中增加一個(gè)菜單項(xiàng)“XSP 2 Web Server Here 2.10”,而我們只需要簡(jiǎn)單的選擇這個(gè)菜單項(xiàng)就可以將目錄作為Web站點(diǎn)用Mono運(yùn)行起來(lái)。而這里的XSP2,表示,我們使用的是ASP.NET 2.0,如果你需要用ASP.NET 4.0,那你可以通過(guò)修改注冊(cè)表的方式再增加一個(gè)類(lèi)似的菜單項(xiàng),只是把執(zhí)行的批處理由xsp2.bat改為xsp4.bat就行了。這原本是最為簡(jiǎn)單的測(cè)試方案,而且我使用Mono2.8來(lái)啟動(dòng)MVC2站點(diǎn)也是沒(méi)有任何問(wèn)題。結(jié)果在Mono 2.10中,XSP的站點(diǎn)死活就是不響應(yīng),那個(gè)請(qǐng)求讓他運(yùn)行一萬(wàn)年,它也是在那邊loading,也不timeout。問(wèn)題通過(guò)各種努力,最終無(wú)力解決。

  2.在Windows平臺(tái)下使用Nginx+FastCGI-mono-server架起MVC3站點(diǎn),但是表單提交后,ModelBinder無(wú)法正常綁定Action Model.

  XSP行不通,只能想其它辦法。在嘗試了在Windows使用Apache失敗之后,選擇了Nginx+FastCGI來(lái)架構(gòu)ASP.NET站點(diǎn)。在園子里面找到這篇介紹在Mono架設(shè)ASP.NET站點(diǎn),不過(guò)根據(jù)這篇文章我始終沒(méi)有搞明白具體如何配置,好像很復(fù)雜的樣子,還要下載它提供的文件,嘗試無(wú)果。幸好在Mono的官方站點(diǎn)找到Nginx的Mono配置文件,不過(guò)是Linux下面的配置。沒(méi)關(guān)系,看那配置也就那幾個(gè)步驟,應(yīng)該很簡(jiǎn)單。期間也遇到過(guò)一些問(wèn)題,不過(guò)都順利解決,下面簡(jiǎn)單記錄一下Nginx+Mono在Windows下部署ASP.NET站點(diǎn)的步驟:

  1)從Nginx 的官方網(wǎng)站下載最新的Nginx軟件,純綠色,無(wú)需安裝。下載之后,解壓到某一目錄,這里是:E:/Mono/nginx-0.9.4

  2)為了方便,把你的ASP.NET站點(diǎn),也拷到Nginx目錄下面,我這邊使用的目錄名稱(chēng)是:Mono_MVC3

  3)進(jìn)入conf目錄下,找到nginx.conf,找到location /{},我們把這段配置改為我們自己的值:

location / {
root Mono_MVC3;

fastcgi_pass
127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root
/$fastcgi_script_name;
include fastcgi_params;
}

NET技術(shù)ASP.NET MVC3 on Mono的折騰(一):Windows下的部署,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 肥西县| 赤城县| 遂川县| 临泉县| 肇源县| 环江| 信宜市| 贺州市| 当雄县| 德清县| 黄梅县| 平远县| 登封市| 买车| 融水| 永城市| 台南县| 思茅市| 济南市| 兴义市| 彩票| 上林县| 房产| 辽源市| 习水县| 米泉市| 柘荣县| 响水县| 洪雅县| 华阴市| 合水县| 高雄县| 呼图壁县| 华亭县| 巴塘县| 南昌市| 青海省| 娄底市| 逊克县| 隆安县| 若羌县|