csc命令生成exe并调用webservice问题
我想将cs文件利用csc弄成exe,然后直接执行这个exe,该cs中引用了webservice,可是生成exe后webservice并不能执行:
cs名叫time.cs,在其中中引用了一个webservice,webservice的名字叫做isline,在time.cs中的void Main里调用了该ws:
isline.IslineService isline1 = new timer.isline.IslineService();
isline1.MsgSms(str_cellphone,"test","worklist")
然后用:
wsdl /l:cs /n:isline /out:IslineClint.cs http://domain/ws_isline/isline.asmx
csc /t:library /out:IslineClint.dll IslineClint.cs
CSC /t:exe /r:bin/IslineClint.dll /r:bin/timer.dll time.cs
这3个命令将time.cs生成了time.exe,可是webservice并不能执行,请问各位大虾哪里错了?
将只有cs的项目中引用webservice,然后将该cs文件csc成exe--这个过程哪位知道怎么做?
(webservice调用已经在WebForm中运行成功,webservice没问题)
问题点数:100、回复次数:10Top
1 楼mmqingfeng(漠漠青峰)回复于 2006-03-15 17:54:28 得分 80
1、wsdl后面要加上?wsdl
wsdl /l:cs /n:isline /out:IslineClint.cs http://domain/ws_isline/isline.asmx?wsdl
2、你的第二个和第三个命令不是在同一个目录下吧,不然/r:bin/IslineClint.dll会引不到哎
Top
2 楼isline(缘清)回复于 2006-03-16 09:49:57 得分 0
楼上的哥们,偶按照你的方法做了,还是不行。
生成IslineClint.dll后已经拷贝到bin里了。
这个问题说得简单点就是如何使用csc命令编译一个引用webservice的cs文件?
------------------------------------------
看缘工作室
http://www.cnnie.netTop
3 楼isline(缘清)回复于 2006-03-16 12:42:45 得分 0
100分白送,顶者有分!Top
4 楼mmqingfeng(漠漠青峰)回复于 2006-03-16 14:00:31 得分 0
我觉得你的方法应该没什么问题的,把出错信息贴上来看看Top
5 楼flashicp(flashicp)回复于 2006-03-16 14:04:31 得分 10
wsdl /l:cs /n:isline /out:IslineClint.cs http://domain/ws_isline/isline.asmx
这里改一下
wsdl /l:cs /n:isline /out:IslineClint.cs http://domain/ws_isline/isline.asmx?WSDLTop
6 楼netsd(极品非车)回复于 2006-03-16 14:08:40 得分 10
我没用过这种方法.为什么不在程序执行时输入webservice的地址.我都是这么做的Top
7 楼isline(缘清)回复于 2006-03-16 14:29:43 得分 0
mmqingfeng(漠漠青峰) ( ) 信誉:99 2006-03-16 14:00:00 得分: 0
我觉得你的方法应该没什么问题的,把出错信息贴上来看看
---没报任何错误,只是程序运行到调用webservice的那个方式时停滞了(光标还在闪,就是没结果)
------------------------------------------
看缘工作室
http://www.cnnie.net
Top
8 楼mmqingfeng(漠漠青峰)回复于 2006-03-16 16:28:12 得分 0
那可能是因为连不上webservice啊,也可能是在等待webservice返回结果,
你在webservice里写日志看看
把time.cs的代码也贴上来Top
9 楼isline(缘清)回复于 2006-03-17 09:09:27 得分 0
mmqingfeng(漠漠青峰):
webservice是有日志记录的,在事件成功后,会有记录插入到数据库,但是数据库里没有成功记录。
time.cs的事件代码:
try
{
OleDbConnection conn = new OleDbConnection("Provider=SQLOLEDB;Server=127.1.0.1;User ID=sa;Pwd=;DataBase=oa;");
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql,conn);
OleDbDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
msg = "Find List Of Today(" + DateTime.Now.ToShortDateString() + ")";
str_id = dr["l_id"].ToString();
str_name = dr["Name"].ToString();
str_workdate = dr["WorkDate"].ToString();
str_smsflag = dr["SmsFlag"].ToString();
str_smsalarm = dr["SmsAlarm"].ToString();
str_cellphone = dr["CellPhone"].ToString();
str_email = dr["Email"].ToString();
if (str_smsalarm == "1" && str_smsflag == "0") {
System.Console.WriteLine("ooo");
try
{
isline.IslineService isline1 = new timer.isline.IslineService();
if ( isline1.MsgSms(str_cellphone,"test","worklist") ){
str_smsflag = "1";
}
}
catch (Exception b){
System.Console.WriteLine(b);
}
System.Console.WriteLine("eee");
}
}
else
{
msg = "Can Not Find List(" + DateTime.Now.ToShortDateString() + ")";
}
conn.Close();
}
catch(Exception a){
msg = a.ToString();
}
谢谢啊!Top
10 楼isline(缘清)回复于 2006-03-20 09:20:53 得分 0
顶!Top




