【问题标题】:WCF CustomBinding + Duplex+ BinaryEncoding + No Security Cannot Call backWCF CustomBinding + Duplex+ BinaryEncoding + 无安全性无法回调
【发布时间】:2010-10-01 12:54:41
【问题描述】:

我有一个双工服务 (Singleton),它曾经与 WSDualHttpBinding 一起使用,但出于性能原因将其更改为双工 CustomBinding 以支持 BinaryEncoding 后,它停止了工作。对于所有客户端请求,问题跟踪到 GetCallBackChannel 始终返回相同的 HashCode(在该服务实例内),并且列表认为它已经存在于订阅的频道中并且不会添加到订阅者列表中。我正在使用 C# 3.5

请提出解决方案..

在此先感谢...

public void Subscribe(string topicName)
            {
                try
                {
                    Notifier.IPublishing subscriber = OperationContext.Current.GetCallbackChannel<IPublishing>();
                    Notifications.Filter.AddSubscriber(topicName, subscriber);
                }
                catch (Exception ex)
                {
                    ErrorLog.WriteToLog("Subscribe\n" + ex.ToString());
                }
            }

static public void AddSubscriber(String topicName, IPublishing subscriberCallbackReference)
        {
            lock (typeof(Filter))
            {                
                if (SubscribersList.ContainsKey(topicName))
                {
                    if (!SubscribersList[topicName].Contains(subscriberCallbackReference))
                    {
                        SubscribersList[topicName].Add(subscriberCallbackReference);
                    }
                }
                else
                {
                    List<IPublishing> newSubscribersList = new List<IPublishing>();
                    newSubscribersList.Add(subscriberCallbackReference);
                    SubscribersList.Add(topicName, newSubscribersList);
                }
            }
        }

【问题讨论】:

    标签: c# wcf duplex


    【解决方案1】:

    看起来这是 .Net 3.5 的未记录问题。在 .Net 4.0 中尝试过同样的事情,它就像一个魅力。

    我的目标是使用带有 wsDualHTTPBinding 的二进制编码,因为当时 Windows Server 2008/IIS7 不是一个选项,因此引发了这个问题。

    将二进制编码与双工绑定一起使用的首选解决方案是使用 nettcpbinding,它依赖于 IIS7(除非您是自托管),该依赖项仅在 windows server 2008 或更高版本上可用。

    我们说服了我们的基础架构团队进行升级......现在一切都很好:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      • 1970-01-01
      • 2012-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多