2012-01-11 115 views
2

我的「hello world」ASP.NET應用程序在調試中工作正常。不過,我出版後,我有問題:ASP.NET:爲什麼我的網站服務Default.asp而不是Default.aspx

  1. 在哪裏我控制,我是否要我的網站服務的Default.aspx或.asp的默認頁?當我調試時,它調用Default.aspx沒有問題,但發佈後,它似乎要求Default.asp

  2. 爲什麼手動請求Default.aspx時會出現此錯誤? (在瀏覽器中)

    無法顯示XML頁面 無法使用XSL樣式表查看XML輸入。請更正錯誤,然後點擊刷新按鈕,或稍後再試。 名稱以無效字符開頭。處理資源'http://localhost/slidenet/default.aspx'時出錯。 1號線,...

    <%@頁面語言= 「C#」 AutoEventWireup = 「真」 代碼隱藏= 「Default.aspx.cs」 繼承= 「WebApplication1._Default」 %> -^

  3. 如果我不請求一個頁面,它會打電話給我創建的Default.asp,並且是同樣的錯誤: 頁面無法顯示 您嘗試訪問的頁面存在問題,而且它不能被顯示。


請嘗試以下方法:

單擊刷新按鈕,或稍後重試。

打開本地主機主頁,然後查找指向所需信息的鏈接。 HTTP 500.100 - 內部服務器錯誤 - ASP錯誤 Internet信息服務


技術信息(用於支持人員)

錯誤類型: 的Active Server Pages,ASP 0221(0x80004005的) 指定的「頁面Language =「C#」AutoEventWireup =「true」CodeBehind =「Default.aspx.cs」Inherits =「WebApplication1.Default」'選項未知或無效。 /slidenet/Default.asp,線1

瀏覽器類型: 的Mozilla/4.0(兼容; MSIE 7.0; Windows NT的5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2。 .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)

頁面: GET /slidenet/Default.asp

時間: 11 2012年1月,14時00分02秒

更多信息: Microsoft支持

+1

可能是一個錯誤的IIS configu日糧,但您必須提供有關託管環境的更多信息。最佳選擇:默認文檔在iis配置中設置爲default.asp。 – 2012-01-11 14:04:22

+0

您需要從控制面板更改文檔(歡迎)頁面的順序。請指定IIS版本。 – adatapost 2012-01-11 14:04:25

+0

我在Windows XP Pro 32bits上發佈爲「測試發佈」。希望稍後在Windows服務器2008 64位上發佈...我希望ASP.net能夠對其進行抽象化。 – Jerome 2012-01-11 14:07:14

回答

2

可能是aspx引擎沒有用IIS正確註冊。 aspx的處理程序不存在。

嘗試從命令行運行aspnet_regiis -i (MSDN link)。它需要從您正在安裝的.Net框架的版本的目錄運行,即C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727

我見過這種情況發生在IIS安裝後.Net框架,因此它沒有機會註冊

默認頁面是IIS中針對網站的設置,如其他答案中所述。

+0

在ASP.NET的ASP.NET我可以看到三個引擎我可以選擇。它不適用於其中任何一個。 – Jerome 2012-01-11 14:23:36

+0

@jeromeG在處理程序映射中* .aspx應映射到Microsoft.NET \ Framework \ [ASP.Net] \ aspnet_isapi.dll的版本。我會檢查 - 看起來aspx頁面沒有經過正確的處理程序。重新註冊正確的版本應該有所幫助 - 但這至少會幫助您隔離問題 – 2012-01-11 14:43:54

+0

@jeromeG。當你說不起作用 - 你的意思是你不能註冊aspnet嗎? – 2012-01-11 14:46:11

0

如果您使用visual studio「virtual」webserver運行它,則必須右鍵單擊default.aspx並在解決方案資源管理器選項卡中選擇「設置爲開始頁面」。 如果您在IIS環境中運行它,則必須從IIS中的屬性對話框中選擇正確的起始頁。 我也建議乾淨重建你的項目(Build-> Clean [projectname])

-1

在默認文檔的列表的頂部該代碼添加到您的web.config

<defaultDocument> 
    <files> 
     <add value="Default.aspx" /> 
    </files> 
    </defaultDocument> 

,你也可以檢查默認文檔下的IIS設置

1

的默認文檔的順序很重要,文件優先於名單上較低的那些人。請參閱下面的屏幕截圖(IIS 7):即使存在default.aspx,Default.asp(如果存在)也將由IIS提供服務。這只是因爲default.asp在列表中更高。

enter image description here

使用選項,以使Default.aspx的默認過的Default.asp。

在Windows XP上使用IIS 6:

enter image description here

如果你想這樣做在web.config中,您可以清除defaultDocuments設置第一,添加Default.aspx的面前:

<defaultDocument> 
    <files> 
    <clear /> 
    <add value="Default.aspx" /> 
    </files> 
</defaultDocument> 

或者只刪除的default.asp:

<defaultDocument> 
    <files> 
    <remove value="default.asp" /> 
    <add value="default.aspx" /> 
    </files> 
</defaultDocument> 
相關問題