webservices 抛出的异常,如果得到异常的行号?

zetee 2009-01-12 11:56:47
webservices 抛出的异常,如果得到异常的行号?

[WebMenthod]
public string HelloWorld()
{
try{
throw new Exception("0000000000000");
}catch(Exception ex)

{
return ex.StackTrace;
//ex.StackTrace在本地调试的时候可以看到行号,但是在发布的时候看不到。
//就是我用winForm 调用时候,如果把webservices 设为本地调试的时候,可以看到这里断点看到行号, 但是,不能本地调试的时候就看不到了,我想一直都可以看。怎么做?
}
return "";

}
...全文
154 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zetee 2009-01-13
  • 打赏
  • 举报
回复
你的意思是不要发布,直接发布代码是吧?这样可以看到stackTrace 具体信息, 不过不知这样是否有行号呢?我做下实验,

说真的,StackTrace 只是当前代码块,正在被调用的堆栈,
void AA()
{

try{
bb();
}catch(Exception ex)
{
StackTrace ST=new StackTrace(ex);
string bb=ST.ToString();//这里并不知道是bb() 函数抛出的异常,就认得AA(),这样如果AA里面很多东西的话,根本不知道那行出错。

}
}










void bb()
{
throw new Exception("ooooo");
}







jinjazz 2009-01-13
  • 打赏
  • 举报
回复
获取服务器异常,可以把StackTrace信息放入soapheader中返回到客户端。而不是显示跑出来。
jinjazz 2009-01-13
  • 打赏
  • 举报
回复
是我理解错了,你不要预编译发布,直接发布代码到web服务器上就可以获取StackTrace的信息了。
zetee 2009-01-13
  • 打赏
  • 举报
回复
webservices 抛出的异常,如果得到异常的行号? 我要的是服务出现异常时候的行号。无论SoapHeader放在哪里都好,我要的是具体出错的东西,我可以继续抛出SoapException 然后放在Actor 里面,也可以Message 里面,反正我也具体出错位置,最好和可以看到周围的代码那种,像Web 调试的时候。
zetee 2009-01-13
  • 打赏
  • 举报
回复
webservices 抛出的异常,如果得到异常的行号? 我要的是服务出现异常时候的行号。无论SoapHeader放在哪里都好,我要的是具体出错的东西,我可以继续抛出SoapException 然后放在Actor 里面,也可以Message 里面,反正我也具体出错位置,最好和可以看到周围的代码那种,像Web 调试的时候。
receivefrom 2009-01-13
  • 打赏
  • 举报
回复
up
noenoughmemory 2009-01-13
  • 打赏
  • 举报
回复
up
zetee 2009-01-13
  • 打赏
  • 举报
回复
有行号的都是本地的IIS源代码,或者同一工程的不同项目,但是局域网也没有,
zetee 2009-01-13
  • 打赏
  • 举报
回复
很好,现在实验出来只有源代码才有行号,而生成DLL后就没有行号,有的只有JIT里面的,可以说基本上没有

12,163

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧