我有网络服务:
public class Service1:WebService {
private readonly MNConnection _conn;
private MNLpu _lpu;
public Service1() {
_conn = new MNConnection();
}
[WebMethod(EnableSession = true)]
public void Open(string login, string password) {
_conn.Open(login, password);
_lpu = (MNLpu)_conn.CreateLPU();
}
[WebMethod(EnableSession = true)]
public decimal Get() {
return _lpu.Count;
}
}
当我从外部控制台应用程序调用它时,它会在最后一行显示 NullReferenceException:
CookieContainer cookie = new CookieContainer();
Service1 lh = new Service1 {CookieContainer = cookie};
lh.Open("login", "pwd");
Console.WriteLine(lh.Get());
如果从 web 服务中删除 Open() 方法并插入到构造函数这样的行,它工作正常:
_conn.Open(login, password);
_lpu = (MNLpu)_conn.CreateLPU();
如何解决?PS MNConnection - 我自己的类,它与 OracleConnection 一起使用。