Silverlight通过TCP协议访问双工模式的WCF(Host在控制台)
Siverlight与WCF之间的通信按照理论有以下几种方式
协议 宿主
http console
http IIS
tcp console
tcp IIS
当然还有windows服务,winform等等,这里仅举出了常见的两种。
这次测试的是silverlight使用TCP访问寄宿在控制台上的wcf服务
代码结构:
双工访问的关键点在于
1,比普通的WCF服务多了一个回调契约
namespace WCFLibrary { [ServiceContract(CallbackContract = typeof(IUpdateClient))] public interface IUpdateUser { [OperationContract] WCFModel.User Update(WCFModel.User User); } [ServiceContract] public interface IUpdateClient { [OperationContract(IsOneWay = true)] void Say(string fromServerString); } }
2,app.config配置
<service behaviorConfiguration="WCFLibrary.UpdateUserBehavior" name="WCFLibrary.UpdateUser"> <host> <baseAddresses> <add baseAddress="net.tcp://localhost:4503/UpdateUser"/> </baseAddresses> </host> <endpoint address="" binding="netTcpBinding" contract="WCFLibrary.IUpdateUser" bindingConfiguration="netTcpBindConfig"></endpoint> <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" ></endpoint> </service>
3,一定要在本机的IIS根目录放置一个策略文件
4,Host关键代码
class Program { static void Main(string[] args) { MyHost.Open(); System.Console.WriteLine("服t务?已?经-启?动ˉ... 敲?任?意a键ü停£止1服t务?"); System.Console.ReadLine(); MyHost.Close(); } } public class MyHost { static ServiceHost host = null; public static void Open() { host = new ServiceHost(typeof(WCFLibrary.UpdateUser)); host.Open(); host = new ServiceHost(typeof(WCFLibrary.AddService)); host.Open(); } public static void Close() { if (host != null && host.State == CommunicationState.Opened) { host.Close(); } host = null; } }
源代码:https://files.cnblogs.com/wengyuli/WCFTCPDuplex.rar
分类:
Silverlight
, WCF编程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述