您的位置:首页 > 其它

Web服务的创建和使用

2006-07-30 16:35 316 查看
web服务的引用
一个简单的东东
[WebMethod]
public double WebAdd(double db1,double db2)
{
return db1+db2;
}
引用其Web服务
[STAThread]
static void Main(string[] args)
{
localhost.MyService WebMath = new localhost.MyService();
double db1 = double.Parse(Console.ReadLine());
double db2 = double.Parse(Console.ReadLine());
double dbResult = WebMath.WebAdd(db1,db2);
Console.WriteLine("结果为:"+dbResult.ToString());
}



一个SMS的例子
引用http://www.wsms.cn/ws/sms.asmx?wsdl上的服务
private void tbSend_Click(object sender, System.EventArgs e)
{
//以下有局域网内有代理时用。
System.Net.WebProxy proxy = new System.Net.WebProxy("itgproxy.redmond.corp.microsoft.com:80");
proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
System.Net.GlobalProxySelection.Select = proxy;
cn.wsms.www.sms MySms = new cn.wsms.www.sms();
MySms.SendSMS(tbContent.Text,tbDes.Text,tbUser.Text,tbPass.Text,"test");
}

不使用VS.NET,调用web服务
1、 wsdl /out:myWebService.cs http://localhost/MyService/MathService.asmx
2、 csc /out:RegWebService.dll /t:library /r:System.xml.dll /r:System.Web.Services.dll myWebService.cs
3、 有了组件库,我们就可以编写调用WebService的客户端程序了。见CallWebService.cs。
4、 csc /r:myWebService.dll CallWebService.cs
5、 运行CallWebService.exe。

建立数据连接
[WebMethod]
public DataSet SQLDB(string Query)
{
try
{
SqlConnection CS = new SqlConnection("server=(local);database=Northwind;Trusted_Connection=yes");
SqlDataAdapter myCommand = new SqlDataAdapter (Query, CS);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet, "Results");
return myDataSet;
}
catch(Exception ex)
{
return DataError(ex);
}
}
[WebMethod]
public DataSet AccessDB(string Query)
{
try
{
string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ this.Server.MapPath("AccessWebServices.mdb");
OleDbConnection myAccessConn = new OleDbConnection(strAccessConn);
OleDbCommand myAccessCommand = new OleDbCommand(Query,myAccessConn);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
myAccessConn.Open();
DataSet myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet,"Results");
myAccessConn.Close();
return myDataSet;
}
catch(Exception ex)
{
return DataError(ex);
}
}
public DataSet DataError(Exception ex)
{
DataSet errDS = new DataSet("Errors");
DataTable errTable = errDS.Tables.Add("Error");
errTable.Columns.Add("Message");
errTable.Rows.Add(new Object[] {ex.Message});
return errDS;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: