我有以下方法,并且按预期运行。
[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网站上,以获得更深入的见解!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句