asmx代码
winform代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<%@ WebService Language=
"C#"
Class=
"Service1"
%>
using
System;
using
System.Web;
using
System.Web.Services;
using
System.Web.Services.Protocols;
[WebService(Namespace =
"http://tempuri.org/"
)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public
class
Service1 : System.Web.Services.WebService {
[WebMethod]
public
string
doSearch(String p1,String p2,String p3)
{
return
"Hello World"
+ p1 + p2 + p3;
}
}
|
winform代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
private
void
button1_Click(
object
sender, EventArgs e)
{
string
strURL =
"http://localhost:2852/WebSite1/Service1.asmx/doSearch"
;
System.Net.HttpWebRequest request;
request = (System.Net.HttpWebRequest)HttpWebRequest.Create(strURL);
//Post请求方式
request.Method =
"POST"
;
// 内容类型
request.ContentType =
"application/x-www-form-urlencoded"
;
//这是原始代码:
string
paraUrlCoded =
"p1=x&p2=y&p3=测试的中文"
;
byte
[] payload;
//将URL编码后的字符串转化为字节
payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
//设置请求的 ContentLength
request.ContentLength = payload.Length;
//获得请 求流
Stream writer = request.GetRequestStream();
//将请求参数写入流
writer.Write(payload, 0, payload.Length);
// 关闭请求流
writer.Close();
System.Net.HttpWebResponse response;
// 获得响应流
response = (System.Net.HttpWebResponse)request.GetResponse();
System.IO.Stream s;
s = response.GetResponseStream();
XmlDocument d =
new
XmlDocument();
d.Load(s);
MessageBox.Show(d.DocumentElement.InnerText);
}
|