日期:2014-05-17  浏览次数:20870 次

XP下启动gina.dll中调用webservice问题

我做了一个gina.dll,调用我写的另一个dll(就是启动界面),VC++写的。
这里遇到的问题是如图所示,一到创建WebReference对象时就会出错。
贴一下代码:(其实没有什么)




private:void login()
{
int stuNum = System::Int32::Parse( studentIDTextBox ->Text);
RegistryKey   *rkey   =   Registry::LocalMachine;
RegistryKey *rkey1   =   rkey->OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon",true);
try{
WebReference::Service1 *sev = new WebReference::Service1();
sev->Timeout = 3000;
int logRes = -1;//默认-1
//String * Macaddress = this->GetMacAddress();
String *Macaddress = (String *)(rkey1->GetValue("MacAddress"));
logRes = sev ->LOGIN_CHECK(stuNum,Macaddress,passwordTextBox ->Text);//取mac地址
String  *errorMessage;
switch(logRes)
{
case 0:errorMessage = "登录成功";break;
case 130:errorMessage = "未刷卡";break;
case 131:errorMessage = "账号不存在或密码错误";break;
case 132:errorMessage = "此账号已在其他机器登录";break;
case 1720:errorMessage = "内部错误,请重试";break;
case 1980:errorMessage = "账号未启用";break;
case 1990:errorMessage = "没有权限";break;
default:break;
}
if(logRes == 0)
{
//调用系统登录
this->result = WLX_SAS_ACTION_LOGON; 
//写注册表
String *EM_Flag = "No";

rkey1->SetValue("StudentNumber",this->studentIDTextBox->Text);
//rkey1->SetValue("Password", this->passwordTextBox->Text);
rkey1->SetValue("IsEmlogon" , EM_Flag);

this ->Dispose(true);
}
else
{
MessageBox::Show(errorMessage);
this->result = WLX_SAS_ACTION_NONE ;
}
   }
catch(System::Net::WebException *ex)
{
 MessageBox::Show("网络连接超时,请重试或应急登录");
}
catch(System::Exception *other)
{
MessageBox::Show(other->get_Source());
MessageBox::Show(other->get_StackTrace());
}
rkey1->Close();

}

这里最关键的问题是,这个dll在有的机器上可以成功,在别的机器上就会出错。
错误的get_message()返回值是   配置系统初始化失败   
我估计是配置那里不对,但是我是用C++写的,网上修改app.config的方法我看过,我这个工程里没有这个配置文件啊!
------解决方案--------------------
是不是.net运行库有问题
------解决方案--------------------
2.0 3.0 3.5都装了
难道还要装1.1吗?
引用:
是不是.net运行库有问题

------解决方案--------------------
用户未登录,去哪里找临时目录生成XML序列化的程序集?
------解决方案--------------------
大侠能稍微具体一点吗
引用:
用户未登录,去哪里找临时目录生成XML序列化的程序集?

------解决方案--------------------
该回复于2012-08-29 16:36:46被版主删除
------解决方案--------------------
XML序列器不存在的话.Net会自己在临时目录生成一个。你可以把XML序列器也一起发布啊
------解决方案--------------------
提示的错误是“配置系统初始化失败” 求解啊!!!!!!!!