VS2008中C#开发webservice简单实例
2020-12-13 02:17
标签:des style blog class code java 1.创建工程 文件-> 新建->网站 如下图。 工程建好后,会自动添加如下代码: 可以运行一遍看看效果。 2.添加代码增强webservice的功能 增加加减乘除的功能。 代码如下: 运行效果如下: 3.使用生成的webservice VS2008-> 文件->新建->网站->ASP.NET网站->website2 接下来添加刚才生成的webservice应用: website2邮右键->添加web引用 URL是运行website1之后的网址(在使用刚才的webservice时,需要先把那个服务运行起来才行) URL写好后,点击前往->添加应用->ok。 引入的web引用中有一个wsdl文件(此处对wsdl的提示与本文无关系)。wsdl文件如下: 我们在这就练习调用webservice的四个方法,做一个简单的调用的例子,先在网站的前台添加几个控件,代码如下: 到此一个一个简单的WebService的开发和调用就已经完成了,在实际应用中可以根据自己的需要,写一些功能强大的,复杂的WebService,不管多么复杂,整个流程都是这样的。 可以运行该网站了。 VS2008中C#开发webservice简单实例,搜素材,soscw.com VS2008中C#开发webservice简单实例 标签:des style blog class code java 原文地址:http://www.cnblogs.com/LCCRNblog/p/3716406.html 1 using System;
2 using System.Linq;
3 using System.Web;
4 using System.Web.Services;
5 using System.Web.Services.Protocols;
6 using System.Xml.Linq;
7
8 [WebService(Namespace = "http://tempuri.org/")]
9 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
10 // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
11 // [System.Web.Script.Services.ScriptService]
12 public class Service : System.Web.Services.WebService
13 {
14 public Service () {
15
16 //如果使用设计的组件,请取消注释以下行
17 //InitializeComponent();
18 }
19
20 [WebMethod]
21 public string HelloWorld() {
22 return "Hello World";
23 }
24
25 }
1 using System;
2 using System.Linq;
3 using System.Web;
4 using System.Web.Services;
5 using System.Web.Services.Protocols;
6 using System.Xml.Linq;
7
8 [WebService(Namespace = "http://tempuri.org/")]
9 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
10 // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
11 // [System.Web.Script.Services.ScriptService]
12 public class Service : System.Web.Services.WebService
13 {
14 public Service () {
15
16 //如果使用设计的组件,请取消注释以下行
17 //InitializeComponent();
18 }
19
20
21 //[WebMethod]
22 //public string HelloWorld()
23 //{
24 // return "Hello World";
25 //}
26
27 [WebMethod(Description = "求和的方法")]
28 public double addition(double i, double j)
29 {
30 return i + j;
31 }
32
33 [WebMethod(Description = "求差的方法")]
34 public double subtract(double i, double j)
35 {
36 return i - j;
37 }
38
39 [WebMethod(Description = "求积的方法")]
40 public double mutiplication(double i, double j)
41 {
42 return i * j;
43 }
44
45 [WebMethod(Description = "求商的方法")]
46 public double division(double i, double j)
47 {
48 if(j!=0)
49 return i/j;
50 else
51 return 0;
52 }
53 }
1 xml version="1.0" encoding="utf-8"?>
2 wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
3 wsdl:types>
4 s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
5 s:element name="addition">
6 s:complexType>
7 s:sequence>
8 s:element minOccurs="1" maxOccurs="1" name="i" type="s:double" />
9 s:element minOccurs="1" maxOccurs="1" name="j" type="s:double" />
10 s:sequence>
11 s:complexType>
12 s:element>
13 s:element name="additionResponse">
14 s:complexType>
15 s:sequence>
16 s:element minOccurs="1" maxOccurs="1" name="additionResult" type="s:double" />
17 s:sequence>
18 s:complexType>
19 s:element>
20 s:element name="subtract">
21 s:complexType>
22 s:sequence>
23 s:element minOccurs="1" maxOccurs="1" name="i" type="s:double" />
24 s:element minOccurs="1" maxOccurs="1" name="j" type="s:double" />
25 s:sequence>
26 s:complexType>
27 s:element>
28 s:element name="subtractResponse">
29 s:complexType>
30 s:sequence>
31 s:element minOccurs="1" maxOccurs="1" name="subtractResult" type="s:double" />
32 s:sequence>
33 s:complexType>
34 s:element>
35 s:element name="mutiplication">
36 s:complexType>
37 s:sequence>
38 s:element minOccurs="1" maxOccurs="1" name="i" type="s:double" />
39 s:element minOccurs="1" maxOccurs="1" name="j" type="s:double" />
40 s:sequence>
41 s:complexType>
42 s:element>
43 s:element name="mutiplicationResponse">
44 s:complexType>
45 s:sequence>
46 s:element minOccurs="1" maxOccurs="1" name="mutiplicationResult" type="s:double" />
47 s:sequence>
48 s:complexType>
49 s:element>
50 s:element name="division">
51 s:complexType>
52 s:sequence>
53 s:element minOccurs="1" maxOccurs="1" name="i" type="s:double" />
54 s:element minOccurs="1" maxOccurs="1" name="j" type="s:double" />
55 s:sequence>
56 s:complexType>
57 s:element>
58 s:element name="divisionResponse">
59 s:complexType>
60 s:sequence>
61 s:element minOccurs="1" maxOccurs="1" name="divisionResult" type="s:double" />
62 s:sequence>
63 s:complexType>
64 s:element>
65 s:schema>
66 wsdl:types>
67 wsdl:message name="additionSoapIn">
68 wsdl:part name="parameters" element="tns:addition" />
69 wsdl:message>
70 wsdl:message name="additionSoapOut">
71 wsdl:part name="parameters" element="tns:additionResponse" />
72 wsdl:message>
73 wsdl:message name="subtractSoapIn">
74 wsdl:part name="parameters" element="tns:subtract" />
75 wsdl:message>
76 wsdl:message name="subtractSoapOut">
77 wsdl:part name="parameters" element="tns:subtractResponse" />
78 wsdl:message>
79 wsdl:message name="mutiplicationSoapIn">
80 wsdl:part name="parameters" element="tns:mutiplication" />
81 wsdl:message>
82 wsdl:message name="mutiplicationSoapOut">
83 wsdl:part name="parameters" element="tns:mutiplicationResponse" />
84 wsdl:message>
85 wsdl:message name="divisionSoapIn">
86 wsdl:part name="parameters" element="tns:division" />
87 wsdl:message>
88 wsdl:message name="divisionSoapOut">
89 wsdl:part name="parameters" element="tns:divisionResponse" />
90 wsdl:message>
91 wsdl:portType name="ServiceSoap">
92 wsdl:operation name="addition">
93 wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">求和的方法wsdl:documentation>
94 wsdl:input message="tns:additionSoapIn" />
95 wsdl:output message="tns:additionSoapOut" />
96 wsdl:operation>
97 wsdl:operation name="subtract">
98 wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">求插的方法wsdl:documentation>
99 wsdl:input message="tns:subtractSoapIn" />
100 wsdl:output message="tns:subtractSoapOut" />
101 wsdl:operation>
102 wsdl:operation name="mutiplication">
103 wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">求积的方法wsdl:documentation>
104 wsdl:input message="tns:mutiplicationSoapIn" />
105 wsdl:output message="tns:mutiplicationSoapOut" />
106 wsdl:operation>
107 wsdl:operation name="division">
108 wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">求商的方法wsdl:documentation>
109 wsdl:input message="tns:divisionSoapIn" />
110 wsdl:output message="tns:divisionSoapOut" />
111 wsdl:operation>
112 wsdl:portType>
113 wsdl:binding name="ServiceSoap" type="tns:ServiceSoap">
114 soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
115 wsdl:operation name="addition">
116 soap:operation soapAction="http://tempuri.org/addition" style="document" />
117 wsdl:input>
118 soap:body use="literal" />
119 wsdl:input>
120 wsdl:output>
121 soap:body use="literal" />
122 wsdl:output>
123 wsdl:operation>
124 wsdl:operation name="subtract">
125 soap:operation soapAction="http://tempuri.org/subtract" style="document" />
126 wsdl:input>
127 soap:body use="literal" />
128 wsdl:input>
129 wsdl:output>
130 soap:body use="literal" />
131 wsdl:output>
132 wsdl:operation>
133 wsdl:operation name="mutiplication">
134 soap:operation soapAction="http://tempuri.org/mutiplication" style="document" />
135 wsdl:input>
136 soap:body use="literal" />
137 wsdl:input>
138 wsdl:output>
139 soap:body use="literal" />
140 wsdl:output>
141 wsdl:operation>
142 wsdl:operation name="division">
143 soap:operation soapAction="http://tempuri.org/division" style="document" />
144 wsdl:input>
145 soap:body use="literal" />
146 wsdl:input>
147 wsdl:output>
148 soap:body use="literal" />
149 wsdl:output>
150 wsdl:operation>
151 wsdl:binding>
152 wsdl:binding name="ServiceSoap12" type="tns:ServiceSoap">
153 soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
154 wsdl:operation name="addition">
155 soap12:operation soapAction="http://tempuri.org/addition" style="document" />
156 wsdl:input>
157 soap12:body use="literal" />
158 wsdl:input>
159 wsdl:output>
160 soap12:body use="literal" />
161 wsdl:output>
162 wsdl:operation>
163 wsdl:operation name="subtract">
164 soap12:operation soapAction="http://tempuri.org/subtract" style="document" />
165 wsdl:input>
166 soap12:body use="literal" />
167 wsdl:input>
168 wsdl:output>
169 soap12:body use="literal" />
170 wsdl:output>
171 wsdl:operation>
172 wsdl:operation name="mutiplication">
173 soap12:operation soapAction="http://tempuri.org/mutiplication" style="document" />
174 wsdl:input>
175 soap12:body use="literal" />
176 wsdl:input>
177 wsdl:output>
178 soap12:body use="literal" />
179 wsdl:output>
180 wsdl:operation>
181 wsdl:operation name="division">
182 soap12:operation soapAction="http://tempuri.org/division" style="document" />
183 wsdl:input>
184 soap12:body use="literal" />
185 wsdl:input>
186 wsdl:output>
187 soap12:body use="literal" />
188 wsdl:output>
189 wsdl:operation>
190 wsdl:binding>
191 wsdl:service name="Service">
192 wsdl:port name="ServiceSoap" binding="tns:ServiceSoap">
193 soap:address location="http://localhost:12989/WebSite1/Service.asmx" />
194 wsdl:port>
195 wsdl:port name="ServiceSoap12" binding="tns:ServiceSoap12">
196 soap12:address location="http://localhost:12989/WebSite1/Service.asmx" />
197 wsdl:port>
198 wsdl:service>
199 wsdl:definitions>
1 @ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
2
3 DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5 html xmlns="http://www.w3.org/1999/xhtml" >
6 head id="Head1" runat="server">
7 title>Webservice调用实例title>
8 head>
9 body>
10 form id="form1" runat="server">
11 div>
12 asp:TextBox ID="Num1" runat="server">asp:TextBox>
13 select id="selectOper" runat = "server">
14 option>+option>
15 option>-option>
16 option>*option>
17 option>/option>
18 select>
19 asp:TextBox ID="Num2" runat="server">asp:TextBox>
20 span id = E runat = "server">span>
21 asp:TextBox ID="Result" runat="server">asp:TextBox>
22 div>
23 form>
24 body>
25 html>
1 using System;
2 using System.Configuration;
3 using System.Data;
4 using System.Linq;
5 using System.Web;
6 using System.Web.Security;
7 using System.Web.UI;
8 using System.Web.UI.HtmlControls;
9 using System.Web.UI.WebControls;
10 using System.Web.UI.WebControls.WebParts;
11 using System.Xml.Linq;
12
13 public partial class _Default : System.Web.UI.Page
14 {
15 protected void Page_Load(object sender, EventArgs e)
16 {
17 //在页面加载的时候动态创建一个按钮,在它的事件里调用Webservice
18 Button btn = new Button();
19 btn.Width = 20;
20 btn.Text = " = ";
21 btn.Click += new EventHandler(btn_Click);
22 E.Controls.Add(btn);
23 }
24 ///