应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

c# webservice二:基本分布式访问

6027人阅读 2019/1/23 14:53 总访问:5181936 评论:0 收藏:0 手机
分类: .NET


使用webservice接口有个好处就是可以分布式访问。


例如我们在玩游戏的时候先要选择一个区,然后在进入游戏。这样是因为如果所有的玩家都在一个区

服务器都是同一个的话,服务器压力很很有,服务器也有负载极限的。所以可以先选择一个区,让玩家

数据存储以及通信可以在不同的服务器进行。


一:创建两个服务模拟不同的服务地址


服务1:

  1.     public class WebService1 : System.Web.Services.WebService
  2.     {
  3.         [WebMethod]
  4.         public string GetUser()
  5.         {
  6.             return "重庆1区"+"hello webservice";
  7.         }
  8.     }

服务2

  1.     public class WebService2 : System.Web.Services.WebService
  2.     {
  3.         [WebMethod]
  4.         public string GetUser()
  5.         {
  6.             return "上海1区" + "hello webservice";
  7.         }
  8.     }



二:用一个下拉列表框,来模拟选区


先创建一个存放键值对的model

  1.     public class KeyValueModel
  2.     {
  3.         public string key { getset; }
  4.         public string value { getset; }
  5.     }

组装好数据后给列表框提供好数据源

  1.   List<KeyValueModel> kvlist = new List<KeyValueModel>();
  2.             kvlist.Add(new KeyValueModel() { key = "重庆1区"value = "http://localhost:23600/WebService1.asmx" });
  3.             kvlist.Add(new KeyValueModel() { key = "重庆2区"value = "" });
  4.             kvlist.Add(new KeyValueModel() { key = "上海1区"value = "http://localhost:23600/WebService2.asmx" });
  5.             kvlist.Add(new KeyValueModel() { key = "北京1区"value = "" });
  6.             comboBox1.DisplayMember = "key";
  7.             comboBox1.ValueMember = "value";
  8.             comboBox1.DataSource = kvlist;



三:实现选择不同的区,调用不同的接口


其实在实例化的时候可以传递两个参数,一个是webservice服务的配置节点,第二个就是地址!

  1.  private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             //获取不同区对应的不同地址
  4.             string remoteurl = comboBox1.SelectedValue.ToString();
  5.             WebService1.WebService1SoapClient client = new WebService1.WebService1SoapClient("WebService1Soap", remoteurl);
  6.             string user = client.GetUser();
  7.             MessageBox.Show(user);
  8.         }

当选择重庆1区的时候 : 就是访问重庆1区的接口

当选择上海1区的时候 : 就是访问上海1区的接口





欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

c webservice基本使用

什么是webserviceWebservie是一种网络服务是一种与语言无关的服务webserver主要作用:1:可以跨平台跨语言访问2:可以做SOA...

Idea下使用maven搭建SSM()MyBatis

开发Web应用,数据的存储和处理往往离不开数据库和SQL语句。在使用Java开发的Web应用中,自然也少不了连接数据库的步骤。在...

Layui水平级菜单时长不显示的问题

调用一下初始化方法Init就可以解决了

Python实例 2-12306抢票() 下单

第二篇 刷票与下单1.记住登陆上一篇写了登陆:http://www.tnblog.net/cz/article/details/162 为了方便调试 不让每次登陆都...

c使用unity实现依赖注入:基本使用

使用Unity实现依赖注入的基本步骤:1:需要创建一个容器2:给容器添加类与类之间的关系(控制反转)3: 在需要的地方从容器里...

级域名解析到服务器的不同端口上

一般二级域名都是解析到不同的服务器上,但是很多时候没有那么土豪可以用那么多服务器哇。所以想把二级域名解析到和主域名...

C与Java进制编码转换,补码

在C#与Java接口对接时,需要将图片转化为二进制编码传输,这时候发现c#转换出来的编码的值是0~255的范围,而java方需要的是...

使用nginx在同一台服务器上配置多个级域名

一般二级域名都是解析到不同的服务器上,但是很多时候没有那么土豪可以用那么多服务器哇。当然土豪完全可以1个二级域名一台...

rabbitmq官网上六大版块之(Direct类型交换机通过routingKey分类型输出)

其实rabbitmq,老师都说得差不多了,下面是老师的连接。http://www.tnblog.net/aojiancc2/article/UserCategory/134官网教...

vue.js 学习日记第章-在vue中编写function及一些简单指令

官网:https://cn.vuejs.org/v2/guide/ vue.js 学习日记第一章:http://www.tnblog.net/18323015640/article/details/2...

使用nginx在同一台服务器上配置多个级域名2

在第一篇中介绍了一种方法:http://www.tnblog.net/aojiancc2/article/details/2430其实还可以使用第二种方法,也就是配置...

文件传输原理与进制、字节、字符理解

传输文件原理: 把文件转换成字节数组,通过字节数组传输 然后接收方在把字节数据转换成文件二进制为什么能存储文件 ...

ASP.NET MVC + WebUploader实现文件上传使用中的一些问题

如何把文件选择按钮换成自己的因为WebUploader设置关联的上传id会有他的样式,有时候想换成自己的开始想的是添加自己的文件...

系统重装()安装Windows系统

嗨,大家好!上一篇我们介绍了如何制作windows系统U盘,这一篇就来介绍一下如何安装。上一篇链接请点击:http://www.tnblog...

.NET MVC json对象或者json对象数组的序列化和反序列化(

1、用JSON.stringify()将对象stuarr或者json数组stuarr序列化成字符串,然后提交给后台。$.post(&quot;/home/DoUpdate&quot...