首页 > 代码库 > .NET 创建 WebService
.NET 创建 WebService
服务器端代码
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Services; 6 using System.Xml.Serialization; 7 using System.Web.Services.Protocols; 8 using System.IO; 9 using System.Xml;10 11 12 namespace WebService113 {14 /// <summary>15 /// Service1 的摘要说明16 /// </summary>17 18 [WebService(19 Namespace = "http://asn.test.cn/", 20 Description="this is a test service!")]21 [System.ComponentModel.ToolboxItem(false)]22 // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。23 // [System.Web.Script.Services.ScriptService]24 public class Service1 : System.Web.Services.WebService25 {26 27 [WebMethod]28 [SoapDocumentMethod(ParameterStyle = SoapParameterStyle.Wrapped)]29 public void PurchaseOrder(30 [XmlAttribute] String ID,31 DateTime Date,32 int Amount,33 out String ReceiptID)34 {35 ReceiptID = "12345";36 return;37 }38 39 40 41 [WebMethod]42 [return: XmlElement("PurchaseOrderRecipt")]43 [SoapDocumentMethod(ParameterStyle = SoapParameterStyle.Bare, OneWay = true)]44 public void PurchaseOrderStyleBare(PO pOrder)45 {46 FileStream fileStream = new FileStream("c:/aa.txt",FileMode.Append ,FileAccess.Write);47 StreamWriter writer = new StreamWriter(fileStream);48 writer.WriteLine(pOrder.ID);49 writer.WriteLine(pOrder.Date.ToString());50 writer.Close();51 return ;52 }53 54 55 [WebMethod]56 [SoapDocumentMethod(ParameterStyle = SoapParameterStyle.Wrapped)]57 public double Divide(double x, double y)58 {59 if (y == 0)60 {61 XmlDocument doc = new XmlDocument();62 doc.LoadXml("<BadStuff>you shouldn‘t try to divide by zero. </BadStuff>");63 XmlQualifiedName code = new XmlQualifiedName("Sample", "http://sample");64 SoapException ex = new SoapException("Can not divide by zero", code, "TheActor", doc);65 66 throw ex;67 }68 return x / y;69 }70 }71 }
客户端调用代码
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using ServiceClient.ServiceTest; 6 using System.Web.Services; 7 using System.Xml.Serialization; 8 using System.Web.Services.Protocols; 9 10 11 12 namespace ServiceClient13 {14 class Program15 {16 static void Main(string[] args)17 {18 19 20 Service1SoapClient server = new Service1SoapClient();21 double resl = server.Divide(4, 3);22 Console.WriteLine(resl);23 24 25 ServiceTestClient client = new ServiceTestClient();26 double resl1 = client.Divide(5, 3);27 Console.WriteLine(resl1);28 }29 }30 31 [WebServiceBinding("Service1Soap", "http://asn.test.cn/")]32 public class ServiceTestClient : SoapHttpClientProtocol33 {34 public ServiceTestClient()35 {36 this.Url = "http://localhost:49559/Service1.asmx";37 }38 39 [SoapDocumentMethod("http://asn.test.cn/Divide"]40 public double Divide(double x, double y)41 {42 Object[] args = { x, y};43 Object[] responseMsg = this.Invoke("Divide", args);44 45 return (double)responseMsg[0];46 }47 }48 }
.NET 创建 WebService
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。