[英]Unable to catch exception on server
我有以下方法,並且按預期運行。
[OperationContract]
[WebGet(UriTemplate = "GetStuff", ResponseFormat = WebMessageFormat.Json)]
public String GetListOfTemplates()
{
String result = "time is " + DateTime.Now.ToString("HH:mm:ss");
try
{
String url = "...";
WebRequest request = WebRequest.Create(url);
}
catch (Exception exception)
{
result = exception.Message + "\n\n" + exception.InnerException.Message;
}
return result;
}
但是,向其中添加一個實際的讀取,例如此處所示 ,出現以下錯誤,因此下面的方法不起作用。
服務器在處理請求時遇到錯誤。 有關更多詳細信息,請參見服務器日志。
[OperationContract]
[WebGet(UriTemplate = "GetStuff", ResponseFormat = WebMessageFormat.Json)]
public String GetListOfTemplates()
{
String result = "time is " + DateTime.Now.ToString("HH:mm:ss");
try
{
String url = "...";
WebRequest request = WebRequest.Create(url);
using (Stream stream = request.GetResponse().GetResponseStream())
using (StreamReader reader = new StreamReader(stream))
result = reader.ReadToEnd();
}
catch (Exception exception)
{
result = exception.Message + "\n\n" + exception.InnerException.Message;
}
return result;
}
當然有一個問題,為什么它不起作用以及如何解決它,但是令我感到困惑(並使我無法進行調試)的是沒有捕獲到異常並將其呈現給客戶端。 另外,我也不知道如何檢查服務器上的日志,因為它是Azure,當我沒有收到異常消息時,我通常會感到困惑。 :)
一切都在本地運作嗎?
沒有理由(天藍色特定)不會導致您的異常被捕獲。 在您的方法執行之前,管道可能出了一些問題!
如果您顯式拋出異常,甚至看不到異常,那么執行管道會在調用方法之前停止! 檢查此有用的指南,對Azure網站進行故障排除 。 您還可以將Visual Studio調試器附加到實時Azure網站上,以獲得更深入的見解!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.