私は次のコードを持っています:
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;
}
}
の行Before Send
が実行された後、空のメッセージが表示され、例外のスタック トレースはメソッドSystem.Exception
を閉じる行を指しています。}
SendToExternalSth
なぜそれが起こっているのか、何か考えはありますか?私はそれを言及する必要があります:
- これは本番環境でのみ発生します (ローカルおよびテスト環境で動作します)。
- コードは c# - .net 4.0 です。
- このコードは、IIS 7.0 でホストされている SOAP Web サービス コードの一部です (
MethodA
は SOAP アクションであり、SendToExternalSth
メソッドは他のクラスの内部メソッドです)。 - 「any cpu」オプションでビルドしていますが、
Debug
本番環境にビルドをデプロイしていますが、- 本番環境とテスト環境の両方が 64 ビット Windows 2008 r2 sp1 であり、
- .net 4 フレームワークは両方に同じバージョンでインストールされ、
- テスト環境と比較して、実稼働サーバーには Microsoft .NET Framework 4 Multi-Targeting Pack コンポーネントがありませんが、現在そこにインストールすることはできません。
この問題を解決するためにさらに情報が必要な場合はお知らせください。喜んで提供させていただきます。