我有以下代码:
public class A: IContract, ...
{
private B b = new B();
// contract method
public string MethodA(string p1, string p2)
{
Log("Start");
SomeObject obj = CreateObj(p1, p2);
Log("Before Send");
string result = b.SendToExternalSth(obj);
// do sth
return result;
}
}
public class B
{
public string SendToExternalSth(SomeObject obj)
{
Log("BEGIN");
string a, b;
a = proxy.Send(obj);
// do sth
Log("End");
return a;
}
}
执行line with 后,Before Send
我得到System.Exception
了空消息,并且异常的堆栈跟踪指向 line with close }
forSendToExternalSth
方法。
你有什么想法为什么会发生?我应该提到:
- 这只发生在生产环境(在本地和测试环境中工作),
- 代码在 c# - .net 4.0 中,
- 此代码是托管在 IIS 7.0 下的soap Web 服务代码(
MethodA
是一个soap 操作,SendToExternalSth
方法是某个其他类的内部方法)的一部分, - 我正在使用“任何 cpu”选项构建它,
- 我正在
Debug
生产环境中部署构建, - 生产环境和测试环境都是 64 位 windows 2008 r2 sp1,
- .net 4 框架都安装了相同的版本,
- 与测试环境相比,生产服务器上缺少 Microsoft .NET Framework 4 Multi-Targeting Pack 组件,但目前我无法在那里安装它。
请告诉我是否需要更多信息来解决此问题,我将很乐意为您提供。