zoukankan      html  css  js  c++  java
  • wcf 请考虑增加操作超时

    发送到 net.tcp://192.168.1.18:8732/CallbackService 的请求操作在配置的超时(00:00:59.9879994)内未收到回复。

    分配给此操作的时间可能已经是更长超时的一部分。这可能由于服务仍在处理操作或服务无法发送回复消息。

    请考虑增加操作超时(将通道/代理转换为 IContextChannel 并设置 OperationTimeout 属性)并确保服务能够连接到客户端。

    网上找了很多资料,都无法解决我的问题。

      INotificationServices proxy;
                DuplexChannelFactory<INotificationServices> channelFactory;
                const string wsDualHttpBinding = "WSDualHttpBinding_INotificationServices";
                const string netTcpBinding = "NetTcpBinding_INotificationServices";
                InstanceContext context = new InstanceContext(new NotificationServiceCallBack());
    
                channelFactory = new DuplexChannelFactory<INotificationServices>(context, wsDualHttpBinding);
                proxy = channelFactory.CreateChannel();
                proxy.SendNotification("Are u ready?");
    
                
                channelFactory = new DuplexChannelFactory<INotificationServices>(context, netTcpBinding);
                proxy = channelFactory.CreateChannel();
                proxy.SendNotification("Are u ready?");
    
                Console.WriteLine("Press Enter to terminate the client");
                Console.ReadLine();

    客户端配置

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <system.serviceModel>
            <client>
                <endpoint address="http://192.168.1.18:8888/CallbackService"
                    binding="wsDualHttpBinding" bindingConfiguration="" contract="Library.INotificationServices"
                    name="WSDualHttpBinding_INotificationServices" />
                <endpoint address="net.Tcp://192.168.1.18:8732/CallbackService"
                    binding="netTcpBinding" bindingConfiguration="" contract="Library.INotificationServices"
                    name="NetTcpBinding_INotificationServices" />
            </client>
        </system.serviceModel>
    </configuration>

    问题在于

    context = new InstanceContext(new NotificationServiceCallBack());

    这个是无法共用的。

    第二个代理必须重新new一个新的InstanceContext对象,才能够正常查询

    
    
  • 相关阅读:
    PowerDesigner使用教程 —— 概念数据模型 (转)
    面板Panel:1.认识Ext.Panel(转)
    批量替换一个数据库中所有表中所有记录
    Ext.data库中几个常用类的原理及其使用 (转)
    也谈C#.NET防止SQL注入式攻击
    jQuery1.3新特性深度分析(Event)
    Sql实现Split
    SQL Server 清除数据库日志脚本(转)
    ExtJS之面向对象编程基本知识
    实战 SQL Server 2005 镜像配置
  • 原文地址:https://www.cnblogs.com/chucklu/p/4727076.html
Copyright © 2011-2022 走看看