首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF CustomBinding + Duplex+ BinaryEncoding +无安全性无法回调

WCF CustomBinding + Duplex+ BinaryEncoding +无安全性无法回调
EN

Stack Overflow用户
提问于 2010-10-01 20:54:41
回答 1查看 805关注 0票数 1

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

请提出一个解决方案..

先谢谢你...

代码语言:javascript
复制
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);
                }
            }
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-06 23:55:20

看起来这是.Net 3.5的一个未记录的问题。在.Net 4.0中也做了同样的事情,效果很不错。

我的目标是在wsDualHTTPBinding中使用二进制编码,因为在这个问题提出的时候,Windows Server2008/IIS7还不是一个选项。

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3839311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档