据我所知,错误发生在以下一行:
SomeClass foo = new SomeClass();
foo.getSomeStuff(id1,id2,id3, connectionString, UserName, Password, out html, out xml);
以下是SomeClass的基本外观:
public class SomeClass
{
private static System.AppDomain SomeDomain { get; set; }
private static SomeUtility utility { get; set; }
static SomeClass()
{
InitializeSomeClass();
}
private static void InitializeSomeClass()
{
//code here
utility = (SomeUtility)SomeDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, "SomeUtility");
}
public void getSomeStuff(int id1, int id2, int id3, string connectionString, string UserName, string Password, out string html, out string xml)
{
html = xml = "";
utility.ExtractContent(id1, id2, id3, connectionString, UserName, Password, out html, out xml);
}
}
在将代码翻译成更一般的术语时,我误解了代码。我纠正了它。这有什么意义吗?
我对静态构造函数的经验很少,但我的直觉告诉我问题可能在某处。
答案 0 :(得分:0)
在您的示例代码中,执行以下行时从未初始化SomeDomain
属性:
utility = (SomeUtility)SomeDomain.CreateInstanceAndUnwrap(...)
更一般地说,查看堆栈跟踪和/或在调试器下运行 - 您很快就会看到哪条线路出现故障以及原因。
答案 1 :(得分:0)
我相信我发现了这个问题。它发生在第三方程序集中的部分:“// code here”。出于安全考虑,我之前没有提供代码,但我会与第三方合作解决问题。谢谢大家!