2

据我所知,错误发生在以下行之一:

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);
    }

}

在将本准则翻译成更笼统的术语时,我误读了它。我已经纠正了。这还有意义吗?

我对静态构造函数的经验很少,但我的直觉告诉我问题可能出在某个地方。

4

2 回答 2

0

我相信我找到了问题所在。它发生在以下部分的第 3 方程序集中:“//code here”。出于安全目的,我之前没有包含代码,但我将与第 3 方一起解决问题。谢谢大家!

于 2014-01-08T16:27:00.190 回答
0

在您的示例代码中,SomeDomain当您执行以下行时,该属性从未被初始化:

utility = (SomeUtility)SomeDomain.CreateInstanceAndUnwrap(...)

更一般地,查看堆栈跟踪和/或在调试器下运行 - 您很快就会看到哪一行失败以及原因。

于 2014-01-07T19:23:05.843 回答