wcf双工回调至web,网页直接关闭的问题

问题描述

契约:namespaceContract{[ServiceContract(Namespace="http://www.artech.com/",SessionMode=SessionMode.Required,CallbackContract=typeof(ICallBack))]publicinterfaceIMyContract{[OperationContract(IsOneWay=true,IsInitiating=true,IsTerminating=false)]voidSend(HD_UNI_FRMfrm);}publicinterfaceICallBack{[OperationContract(IsOneWay=true,IsInitiating=true,IsTerminating=false)]voidServerReturn(HD_UNI_FRMfrm);}}实现契约:publicclassContractService:IMyContract{publicvoidSend(SocketLibrary.HD_UNI_FRMfrm){try{MyData.callback=OperationContext.Current.GetCallbackChannel<ICallBack>();MyData.callback.ServerReturn(frm);}catch(Exceptione){}}}服务端配置文件:<?xmlversion="1.0"?><configuration><system.serviceModel><services><servicename="TestHost.ContractService"><endpointaddress="net.tcp://192.168.1.103:7001/ContractService"binding="netTcpBinding"contract="Contract.IMyContract"/></service></services></system.serviceModel></configuration>web客户端调用:publicstaticvoidRequest(SocketLibrary.HD_UNI_FRMfrm){InstanceContextinstanceContext=newInstanceContext(newWCFCallBack());DuplexChannelFactory<IMyContract>channelFactory=newDuplexChannelFactory<IMyContract>(instanceContext,"ContractService");IMyContractproxy=channelFactory.CreateChannel();proxy.Send(frm);}回调实例:publicclassWCFCallBack:ICallBack{publicvoidServerReturn(SocketLibrary.HD_UNI_FRMfrm){WCFDelegateInvoke.InvokeCallBack(frm);}}回调委托:publicdelegatevoidCallBackDelegate(SocketLibrary.HD_UNI_FRMfrm);publicclassWCFDelegateInvoke{publicstaticeventCallBackDelegateCallBackEvent;publicstaticvoidInvokeCallBack(SocketLibrary.HD_UNI_FRMfrm){if(CallBackEvent!=null){CallBackEvent(frm);}}}web客户端配置文件:<?xmlversion="1.0"?><configuration><system.web><compilationdebug="true"targetFramework="4.0"/></system.web><system.serviceModel><client><endpointname="ContractService"address="net.tcp://192.168.1.103:7001/ContractService"binding="netTcpBinding"contract="Contract.IMyContract"/></client></system.serviceModel></configuration>在winform中回调正常,但是在web中回调网页直接关闭,求高人指点.

解决方案

解决方案二:
没人知道么?顶下
解决方案三:
iis默认不支持tcp端口监听呀。

时间: 2024-11-10 07:05:03

wcf双工回调至web,网页直接关闭的问题的相关文章

silverlight:wcf双工通讯学习笔记

一直觉得SL中的wcf双工通讯方式有点鸡肋,如果是以http方式实现则效率太低,如果用SL4中的tcp方式实现,又跟socket太雷同,所以一直没去研究,不过这东西在对性能要求不高时(比如在网页上每5分钟更新一次天气预报/股票信息),实现起来还是蛮方便的. wcf双工通讯与传统的wcf相比,最大的区别就是:传统的wcf通常都是客户端去调服务,即客户端从服务端上"拉"信息,而双工通讯除了允许客户端从服务端"拉"信息外,服务端还能主动向客户端"推"送

[SignalR]SignalR与WCF双工模式结合实现服务端数据直推浏览器端

原文:[SignalR]SignalR与WCF双工模式结合实现服务端数据直推浏览器端 之前开发基于WinForm监控的软件,服务端基于Wcf实现,里面涉及双工模式,在客户端里面,采用心跳包机制保持与服务端链接,现在有了新需求,需要开发网页版形式,所以怎么保持与服务端链接是重要点,由于数据量比较大,所以不能采用客户端发起请求不断轮询的方式.参考各种资料后,使用SignalR,主要是支持WebSockets通信.并且Hub链接方式解决了realtime 信息交换的功能问题. 下图是MSDN关于解释:

WCF双工通讯以及客户端间的间接通讯

原文:WCF双工通讯以及客户端间的间接通讯 由于学习计划安排不当,对WCF的认知一直停滞不前,最近工作上又用回了WCF,重拾一下,看到蒋老师介绍双工通讯的博文,实践一下,积累一下.原想着WCF的双工通讯就是原本的客户端能调用服务端的方法之余,服务端同样也能调用客户端的方法.把博文看了一遍之后发现这个双工实际上是借助了方法回调实现的.那么下面先介绍一下最基本的双工通讯形式,再介绍一下鄙人利用双工通讯设计了一种形式. WCF通讯都是基于方法调用进行信息交互和传递,在开发基本模式的时候也需要往服务端下

利用WCF双工模式实现即时通讯_C#教程

概述  WCF陆陆续续也用过多次,但每次都是浅尝辄止,以将够解决问题为王道,这几天稍闲,特寻了些资料看,昨晚尝试使用WCF的双工模式实现了一个简单的即时通讯程序,通过服务端转发实现客户端之间的通讯.这只是个Demo,没有考虑异常处理和性能问题.解决方案结构如下:   契约 using System; using System.Collections.Generic; using System.Linq; using System.ServiceModel; using System.Text;

探索移动Web网页编码设计

如果你正准备为你的网站制作一个移动设备版本,那这篇文章将会对你相当有用,在本文中,将探索移动Web网页编码设计的各种技巧和注意事项: 为了移动设备上的用户体验可以被接受,代码得怎么设计. Mobile Web与普通网站的不同之处? 可以让网站成功运行在移动设备和桌面浏览器上的基本技巧 一些Mobile Web设计中的建议和禁忌.以及大量资源 Mobile Web和普通网站到底有何不同呢? 这是个很好的问题 首先,也许我们应该从什么是Mobile Web的问题开始.毕竟,用户用移动设备访问的Mob

求方法:web网页开发,想把dropdownlist控件和gridview控件的某一列绑定

问题描述 求方法:web网页开发,想把dropdownlist控件和gridview控件的某一列绑定 先上图: 实现老师查询选择这门课的学生功能: 首先老师可能会教很多课,所以需要选择所教授的课程,比如c语言,然后gridview就自动把选择c语言的学生显示出来. 我不知道是不是用dropdownlist控件,如果不是,烦请大神告诉我设计思路,感激不尽. 解决方案 dropdownlist下拉触发回发,在SelectedIndexChanged中重新根据条件查询绑定gridviewhttp://

如何用Dreamweaver批量做web网页

dreamweaver|web|网页 做网站,麻烦在更新,特别是大规模更新,工作量非常大.真不知那些创意不断而又勤奋的"站长",隔三岔五将网站来个"大换血",是怎么忙过来的. 告诉你这个秘密吧,他们很多是在"批发"网页,并且你的机器中也有这样的"批发站"呢!这个好东东就是--模板.常见的网页制作工具:FrontPage.DreamWeaver中都有这项功能.如用DreamWeaver 3.0 制作网站时,使用模板就能减少大量的

用ASP技术实现在WEB网页上浏览目录及文件

web|网页 用ASP技术实现在WEB网页上浏览目录及文件 周仰平 摘要  目前在许多单位里,象WORD.EXCEL或WPS该类文档文件已成为重要的数据信息资源,在INTRANET WEB平台上如何高效率地管理这些信息资源是一个需要解决的问题.本文是利用ASP技术开发一个基于WEB的应用程序,实现在WEB页面上浏览目录文件,很轻易地做到诸如WORD.EXCEL和WPS等文档文件的查阅和下载,大大地减少信息维护的工作量. 关键词  ASP  WEB  文档文件   前言:在INTRANET平台上,

火狐浏览器打开的网页意外关闭怎么恢复

现在,不少人都在使用火狐浏览器.在使用过程中,有时因为自己不小心关闭了没有读完的网页,有时想打开已经关闭的网页重新阅读.现在小编介绍几种方法来帮助大家恢复已经关闭的网页,提高浏览效率,节约时间.一起来看看火狐浏览器意外关闭的网页恢复技巧吧. 火狐浏览器打开的网页意外关闭怎么恢复页面 方法一:如果你安装了火狐手势扩展FireGestures,你可以按住鼠标右键,划一下手势" 右→左",即可恢复关闭的标签页. 方法二:右键任何一个标签,选择 恢复关闭的标签页. 方法三:直接用快捷键Ctrl