2017-08-16 59 views
0

在從System.Web.Mvc.ActionResult派生的自定義類,我有下面的代碼行:如何解決HttpServerUtility.TransferRequest中的「預計虛擬路徑」問題?

HttpContext.Current.Server.TransferRequest(myUrl, true); 

在大多數情況下,這工作正常。但偶爾會出現錯誤:

Uncaught error in MVC Controller 
ArgumentException: Invalid path for child request 'http://[...]'. A virtual path is expected. 

我該如何解決這個錯誤?

+0

你是如何建造(在這種情況下MyURL)從網址? –

+0

@VidiyaPrasanth在我的應用程序中,它來自一個配置選項,它默認具有相對路徑的值,但可以被特定用戶覆蓋以具有絕對URL,這就是事實證明錯誤會發生。 –

回答

0

正如錯誤消息的最後部分所述,問題是將URL參數傳遞給TransferRequest方法。

該方法需要一個相對路徑,而不是包含域的絕對URL。例如,這種說法是確定的:

"/Search.aspx" 

這種說法會導致錯誤:

"http://example.com/Search.aspx" 
相關問題