需求
今天朋友叫我给他写个winform可以选择多个文件,上传到web iis服务器,然后可以指定保存到服务器的某个目录,并返回保存的路径,然后上传的时候显示上传进度,上传速度等。。。
解决
由于一直再用webapi,好久没写webservice服务,导致有点生疏,用了一下午才写出来,最近也在玩博客了,所以特开一篇记录
winform静态调用webservice
步骤 创建webservice服务
生成一个HelloWorld接口
此时在winform客户端
添加服务引用
代码调用
动态调用
post
string strURL = "http://localhost:62680/Demo.asmx/HelloWorld";
//创建一个HTTP请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);
//Post请求方式
request.Method = "POST";
//内容类型
request.ContentType = "application/x-www-form-urlencoded";
//发送请求,获得请求流
Stream writer = request.GetRequestStream();
//关闭请求流
writer.Close();
//获得响应流
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream s = response.GetResponseStream();
//转化为XML,自己进行处理
XmlTextReader Reader = new XmlTextReader(s);
Reader.MoveToContent();
string strValue = Reader.ReadInnerXml();
MessageBox.Show(strValue);
Reader.Close();
get
string strURL = "http://localhost:62680/Demo.asmx/HelloWorld? s = ";
strURL += "this.textBox1.Text";
//创建一个HTTP请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);
request.Method="get";
HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
Stream s = response.GetResponseStream();
//转化为XML,自己进行处理
XmlTextReader Reader = new XmlTextReader(s);
Reader.MoveToContent();
string strValue = Reader.ReadInnerXml();
MessageBox.Show(strValue);
Reader.Close();
扩展winform可以选择多个文件,上传到web iis服务器
服务端代码
[WebMethod]
public string Upload_File()
{
try