<strike id="5ntnv"><i id="5ntnv"><del id="5ntnv"></del></i></strike>
<strike id="5ntnv"></strike><ruby id="5ntnv"></ruby><del id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></del><strike id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></strike>
<strike id="5ntnv"></strike>
<strike id="5ntnv"></strike>
<span id="5ntnv"><dl id="5ntnv"></dl></span>
<strike id="5ntnv"><i id="5ntnv"><del id="5ntnv"></del></i></strike><th id="5ntnv"><noframes id="5ntnv"><span id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></span>
<span id="5ntnv"></span>
<strike id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></strike>
<strike id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></strike><strike id="5ntnv"><i id="5ntnv"></i></strike><span id="5ntnv"></span>
<strike id="5ntnv"></strike>
<strike id="5ntnv"></strike>
<th id="5ntnv"><noframes id="5ntnv">
<ruby id="5ntnv"></ruby>
<strike id="5ntnv"><dl id="5ntnv"></dl></strike>

貴州網站建設公司貴州網站建設公司

將.netFramework4.5/MVC4/EF5/Oracle網站發布到Server2008/iis7的痛苦經歷

將.netFramework4.5/MVC4/EF5/Oracle網站發布到Server2008/iis7的網站痛苦經歷

閱讀次數:114 次  來源:admin  發布時間:

一個項目,開發環境是發布win7 ultimate x64, visual studio ultimate 2012,Oracle10g的到S的痛數據庫

技術選型有:.net framework4.5, Mvc4, entity framework 5, simpleinjector

再沒有別的新貨了,開發階段倒是苦經順順利利,全套VS環境嘛,網站考慮發布到服務器的發布時候就不同了:

服務器環境:windows server 2008(貌似非R2版,求看server2008是到S的痛否R2的方法)x64,.net framework4.0,苦經有安裝oracle數據庫服務器在上面。網站

一發布,發布403,到S的痛應該是苦經framework的原因吧,好,網站裝4.5,發布重啟,到S的痛刷新,問題依舊

經過一通海搜,各種測試最終只有一句話是靠譜的:在web.config加入如下節點:

lt;system.webServer><modules runAllManagedModulesForAllRequests="true"/></system.webServer>

滿心激動地刷新,網站能訪問了。我又不得不感嘆一次中文網絡資源匱乏,反正我在整個中文網絡是沒找到這個解決方案,原文見此

滿以為問題解決,結果一登錄,杯具了,報錯,查日志:指定的存儲區提供程序在配置中找不到,或者無效。

又是一通海搜,各種方案:加connectionstring, 到machine.config的DBProviderfactoriew添加驅動字串,用GAC注冊dll等等等等,無一有效,特別離譜的是找GacUtil.exe的時候發現我的服務器上壓根連那目錄都沒有,連著找了好幾臺服務器,都沒有像我的win7一樣的目錄結構,反正我沒寄希望在GacUtil上,于是放棄,繼續苦苦地搜索。

到oracle官網下了最新的提供程序,ODTwithODAC1120320_32bit.zip,就是ODAC加一個可以給vs用的開發工具(ODT),因為vs只有32位版的,所以這個包也只提供32位的。裝了后同樣滿心激動地刷新網站,絲毫問題都沒解決。

插曲:我試著在自己的電腦上做了一個winform程序,用EF來連oracle取數據,居然也報出了同樣的問題,除非在生成項里把目標平臺改成x86。于是我又試著在any cpu, x86, x64這間不斷切換發布,結論是:x86的發上去壓根就跑不起來,而anycpu和x64的則還是老問題,看樣子跟發布也沒什么關系。

我試圖在服務器上裝visual studio 2012來再現開發環境,可居然彈出提示需要更新的系統~~~~這條路也堵死了。

期間我睡了一覺,吃了早飯,中飯,晚飯,突然想到,還有一條路沒試,ODAC有單獨的64位版的,我何不試試?于是卸載之前的ODTwithODAC那一套,重新安裝獨立的odac x64,文件名是:ODAC1120320Xcopy_x64.zip。解壓后,一個命令:install.bat all E:\oracle odac,很短的時間過去(完全不像帶odt的那個),我都以為沒成功,但跑到我指定的E:\oracle一看,文件都在,然后把這個目錄添加到環境變量PATH一節后,重置了一下IIS,“抱著試試看的心情”再去刷了下網頁,登錄,成功!

總結:

1,iis7可以跑.net framework4.5的程序,應用程序池選4.0就可以了

2,發布到iis7上要加的那個system.webServer節點不要忽略了,這一點比較蛋疼,沒有理由,照抄就是

3,oracle的提供程序ODAC一定要對版,我沒空去問這臺機器上的oracle裝的是64位的還是32位的,但操作系統是64位的,實踐證明了ODAC也要對應(跟操作系統對應還是跟oracle對應有空再實驗,我要回去睡覺了)

贊(72)
未經允許不得轉載:>貴州網站建設公司 » 將.netFramework4.5/MVC4/EF5/Oracle網站發布到Server2008/iis7的痛苦經歷
国产欧美精品