[英]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.