winform 应用程序中加入web service(即web 服务)的方法?

seeQe 2015-01-10 03:22:02
C/S 结构中WinForm 应用程序能调用 Web Service,比如网站中提供的Web服务,
能否反过来:
WinForm 程序中包含Web 服务, 让Web网站系统能够调用这些WinForm 的Web服务?

优点: 网站就可以向app 或winform 程序推送即时消息了.
能否?
...全文
1685 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-01-12
  • 打赏
  • 举报
回复
楼主有点异想天开了 就好像在问:如果我把电话装在信封里,是否就可以随时随地知道信件到达哪里了?理论上是这样没错,实际上根本不现实. 你把Web Service嵌入winform,Web Service采用http协议,本身就是短连接不支持推送数据,推送数据的部分你依然还是必须使用tcp协议长连接,你的客户端既不能是传统的tcp clint,也不能是IE浏览器,因为都无法跟你服务端的两个协议同时通信 虽然想法很好,但是不管是服务端的实现还是客户端的实现都异常繁琐 建议还是不要靠拍脑袋想,说出你的业务需求,看有没有其他更合理的解决方案
红衣老大 2015-01-12
  • 打赏
  • 举报
回复
刚刚想起来 如果你要 即时** 的 你可以自己写一个 应用,用它来 面向客户 他需要的数据 来源于 系统的 web service 服务 这样你自己只要负责 即时**部分 其他的交给系统 很简单很多 以前我没想到,刚刚想起来 这个不错
红衣老大 2015-01-12
  • 打赏
  • 举报
回复
web service 服务 不应该跟即时通讯挂钩 他就是 等待被使用,而不应该主动发起信息,当然也有主动的,那不过是没办法的办法
红衣老大 2015-01-12
  • 打赏
  • 举报
回复
集成一个端口, 支持soap 协议, 即支持web service 服务, 你认为 这很简单? 然后你还需要多线程 你要需要 防止被攻击 你还需要 设置权限
  • 打赏
  • 举报
回复
引用 楼主 seeQe 的回复:
C/S 结构中WinForm 应用程序能调用 Web Service,比如网站中提供的Web服务, 能否反过来: WinForm 程序中包含Web 服务, 让Web网站系统能够调用这些WinForm 的Web服务? 优点: 网站就可以向app 或winform 程序推送即时消息了. 能否?
你需要把所有的 Winform 程序都跑在公网上,而不能在任何局域网内。如果你确实做得到,就可以宿主你的 web 服务。
红衣老大 2015-01-11
  • 打赏
  • 举报
回复
你这不就是 自己写一个 iis 然后 提供 webservice功能 让别人调用么
seeQe 2015-01-11
  • 打赏
  • 举报
回复
引用 2 楼 xiaobingking 的回复:
你这不就是 自己写一个 iis 然后 提供 webservice功能 让别人调用么
------------------------------------------------------------------------------------------------------- 有这么思路, 但是IIS 的功能很多, 过于复杂, 而winform 程序需求的简单, 只要集成一个端口, 支持soap 协议, 即支持web service 服务, 即时通讯不就简单了?
足球中国 2015-01-10
  • 打赏
  • 举报
回复
Web Service 好象既不是BS也不是CS。他只是BS与CS中的S(Server端)WS无非是请求数据。这些数据一般BS与CS的数据都是放同一个地方。
完整的服务端及客户端调用程序,在win7+ vs2015环境运行通过. 一、说明 1、创建winfrom应用程序;(或者是控制台项目) 2、在项目添加一个WCF服务,并实现服务; 3、在需要启动WebService服务的地方启动该服务即可; 二、代码如下: 1、新建一个WCF服务——定义服务接口    [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]     public interface ICalculator     {         [OperationContract]         double Add(double n1, double n2);     } 2、新建一个WCF服务——实现服务 public class CalculatorService : ICalculator     {         public double Add(double n1, double n2)         {             return n1 + n2;         }     } 3、添加完WcF服务后会在应用程序配置文件有入下节点                             <!--TestServer.ICalculator服务定义的接口,根据自己定义进行修改-->                                                                   <baseAddresses> <!--这个是要发布的服务地址,可以进行修改-->                                   </baseAddresses>                   4、在要启动服务的地方启动服务监听   public frmMain() { InitializeComponent(); } private void frmMain_Load(object sender, EventArgs e) { try { //打开服务创建监听,并开始监听消息 ServiceHost serviceHost = new ServiceHost(typeof(Service1));//需要using System.ServiceModel; serviceHost.Open(); label1.Text = "服务启动正常"; } catch (Exception ex) { label1.Text = ex.Message; } } 5、下面可以在客户端通过上面的服务地址”http://xxx.xxx.xxx.xx:8733/test/Service1/“对服务进行调用 到这步就实现在控制台实现webService的发布。

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧