我剛剛購買了一臺新的Windows Server 2003計算機,並且一直試圖讓它成爲Nerd Dinner。服務器已經有.NET 3.5 SP1,ASP .NET MVC等所有子頁面的書呆子晚餐返回404s
當我通過FTP上傳Nerd Dinner到主網頁的子目錄時,當我訪問網站中的任何頁面時,根和主頁不會顯示地圖。
例如,當我去有關網頁,我得到以下IIS日誌條目:
2009-08-13 17:56:10 128.200.123.118 GET /nerddinner/Home/About - 80 - 128.200.123.89 Mozilla/4.0+(compatible;+MSIE+8.0
<snip
>) 404 0 3
我感到非常奇怪,因爲這是從Codeplex上書呆子晚餐的新鮮下載並編譯副本。
萬一有幫助,這裏是從失敗的嘗試日誌條目獲得的JavaScript地圖(注意是完全缺乏「/ NerdDinner範例」):
2009-08-13 18:03:05 128.200.123.118 GET /Scripts/Map.js - 80 - 128.200.123.89 Mozilla/4.0+(compatible;+MSIE+8.0
<snip
>) 404 0 3
我有一個強烈的感覺,我應該能夠在asax.cs文件中解決這個問題,但即使在將「nerddinner /」添加到前面後,我也無法完成它的工作。
有什麼想法發生了什麼?
編輯:我上傳到webfolder的根目錄,404s繼續。
編輯2:感謝您的建議。我遵循指示,現在我沒有得到404s。但是,還有兩個主要問題:
- 腳本和內容文件夾映射不正確。我在這些文件夾內的文件的所有引用上都獲得了404s。
-
我根本看不到晚餐。我得到:
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
和紅色的線,上面寫着"<connectionStrings configSource="ConnectionStrings.config" />
」除了ConnectionStrings.config不存在於服務器上,所以它不是根據VS重要的文件,因此,我不知道錯誤是指
(快速搜索我的本地硬盤驅動器的輪番上漲,在它沒有一個ConnectionStrings.config文件)
編輯3:
現在我覺得我得到一個SQL Server 404相當於當我去查看晚餐...
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
摘要助人IIS6上運行ASP .NET MVC,尤其是書呆子晚餐:
- IIS 6可能會向您扔404堆,因爲它不明白文件可能沒有擴展名。要解決該問題,請按照Phil Haack's blog post中的步驟操作。
- ASP .NET MVC URL重寫並不神奇。它只會重寫通過代碼傳送的URL。對腳本,圖像,數據庫,直接鏈接(又名href標記;不是動態生成的標記)等的引用不會根據應用程序的目錄進行重新映射。對於書呆子晚宴申請,請瀏覽頁面並在引用這些參考文獻之前添加「/ nerddinner /」。將「nerddinner」替換爲子目錄的名稱。
- 取出數據庫並將其附加到服務器上的SQL Server(或SQL Server Express)。將網絡用戶添加到具有讀/寫角色的數據庫。
爲您的設置填寫正確的連接字符串。就我而言,我指的是通過IP地址的服務器,並使用SQL Server 2005,所以我的連接字符串是:
<add name="NerdDinnerConnectionString" connectionString="Data Source=128.200.123.118; Initial Catalog=NerdDinner; Integrated Security=SSPI" providerName="System.Data.SqlClient.SqlConnection"/>
Windows Server 2003默認帶有IIS6。你有沒有檢查過路由表? http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx – 2009-08-13 18:56:56
是的,我檢查了它。 – 2009-08-13 20:06:22