在用ASP.net开发网页的过程中,有些数据需要从后台(服务端)获得。需要前端的页面和后端服务端进行数据通信。如何选用搭建这个服务端是今天要总结的。
WebService要发布在IIS上使用。
WCF 支持多种通信协议 Http/Https 、TCP/UDP、MSMQ、命名管道、对等网、消息可达性、事务流等。
具体区别之前看过一篇文章可以参考:
https://www.cnblogs.com/markli/p/4460564.html
具体使用方法如下:
1、使用WebService
建立ASP.net工程,右键新建Web服务,产生后缀为.asmx的文件。
服务端让前端调用的方法需加上[WebMethod]
WebService调试时直接运行,部署时需要部署在IIS上,相当于发布网站网址。
网页前端调用的话,需添加服务引用:
操作中列出了可被网页前端调用的函数名称。地址栏为WebService的文件地址。
添加引用后,网页前端就可以调用Service的函数。现在网页上放置两个textbox输入数字,点击button,对数字求和。
调用方法如下:
protected void Button1_Click(object sender, EventArgs e)
{
MyWebService.WebService1SoapClient testServer = new MyWebService.WebService1SoapClient();
int a = Convert.ToInt32(textbox1.Text);
int b = Convert.ToInt32(textbox2.Text);
int result = testServer.Sum(a, b);
Label4.Text = result.ToString();
}
运行结果:
2、使用WCF创建后台服务端,WCF创建的服务,可以包含WebService的功能,而且不用发布在IIS上。服务端的形式可以使控制台程序、Winform、WPF、windows服务等。
具体方法参见之前的文章:
https://blog.youkuaiyun.com/glmushroom/article/details/84955240
服务open后,在ASP.net网页前端添加服务引用
注意这里地址栏的不是某个文件名,而是自己建立的服务名:
后台逻辑采集本机CPU 、ram、rom等数据,网页前端通过DataProcessEx接口得到数据
protected void Timer1_Tick(object sender, EventArgs e)
{
MyDataClientProxy.DataBaseServiceClient client = new MyDataClientProxy.DataBaseServiceClient();
string cpu = client.DataProcessEx("mycpu");
string ram = client.DataProcessEx("myram");
string disk = client.DataProcessEx("mydisk");
Label1.Text = cpu;
Label2.Text = ram;
Label3.Text = disk;
}