2011-06-28 134 views
0

我們有一個web服務的自定義錯誤頁面。自定義錯誤頁面在測試環境中正確顯示。在生產環境中同樣失敗,將顯示一個'運行時錯誤'頁面,顯示如何設置CustomErrors。ASP.net當webservice發生錯誤時,自定義錯誤頁面重定向失敗?

,我有以下Web.config中的代碼pieace:

<customErrors mode="RemoteOnly" defaultRedirect="WebServiceError.aspx"/> 

我在webserviceerror.aspx

Response.ContentType = "text/xml"; 
Response.Write("<?xml version='1.0' encoding='ISO-8859-1'?>"); 
Response.Write("<WebServiceError>"); 
Response.Write("<ErrorCode>9999</ErrorCode>"); 
Response.Write("<ErrorDescription>Errore Tecnico</ErrorDescription>"); 
Response.Write("</WebServiceError>"); 

1)我能夠打開WebServiceError.aspx沒有下面的代碼瀏覽器中的任何問題。
2)我有一個HTML文件WebServiceError.html嘗試,這也失敗
3)我試圖提absoulte和相對路徑用於在web.config中闖民宅webserviceerror.aspx
4)我已經確認該web.config文件是正確的,沒有任何問題。

我很久沒有找到解決方案了,請幫助。

由於提前,
普拉迪普

回答

3

浮現在腦海中的幾點:

你應該始終包括在<customErrors>標籤的路徑,你的錯誤頁面。

<customErrors mode="RemoteOnly" defaultRedirect="/myErrorPageFolder/WebServiceError.aspx"> 

mode="RemoteOnly"屬性告訴IIS,你只希望看到的自定義錯誤頁從比託管網站以外的其他機器請求頁面時。如果您在同一個框中運行瀏覽器和Web服務器(通常在使用VS Web服務器或本地IIS實例進行調試時),則不會看到自定義錯誤頁面。

如果您的webServiceError.aspx中有任何錯誤,它將無法正常工作。

你打電話的網絡服務?您是否嘗試過在Fiddler中查看請求和響應?

+0

嗨大衛,weserviceerror.aspx工作正常,我能夠從IE瀏覽器的頁面。錯誤頁面(webserviceerror.aspx)和web.config位於同一個文件夾中,所以我沒有提到路徑。請幫忙。 – Pradeep

+0

@Pradeep如果錯誤頁面和web.config位於同一個文件夾中,則無關緊要。你仍然需要一條路徑。查看Fiddler中的請求並用結果更新您的問題。這是診斷問題的最快方法。此外,你還沒有評論任何其他建議。 –

相關問題