【发布时间】:2013-10-27 09:28:24
【问题描述】:
我在运行 Windows Server 2008 R2 Datacenter 的 VM 上设置了 Windows Server Service Bus 1.0。
我编写了一个控制台应用程序来向它发送和接收消息,并且效果很好。
我一直在成功发送越来越大的消息,但控制台应用程序当前在达到 5,226,338 字节(我相信是 5,226,154 字节消息正文 + 184 字节标头)时崩溃了,该大小略低于 5MB。理想情况下,我们需要更多的空间来玩。
一些堆栈跟踪如下...
未处理的异常: Microsoft.ServiceBus.Messaging.MessagingCommunicationException: 套接字连接被中止。这可能是由错误引起的 处理您的消息或接收超时被超过 远程主机或底层网络资源问题。本地插座 超时为“00:01:09.2720000”。 - --> System.ServiceModel.CommunicationException:套接字连接是 中止。这可能是由于处理您的消息时出错或 接收超时被远程主机或底层 网络资源问题。本地套接字超时为“00:01:09.2720000”。 ---> System.IO.IOException: 写操作失败,见内部异常。 ---> System.ServiceModel.CommunicationException:套接字 连接被中止。这可能是由错误处理引起的 远程主机超出您的消息或接收超时, 或底层网络资源问题。本地套接字超时为 '00:01:09.2720000' 。 ---> System.Net.Sockets.SocketException:一个 已建立的连接被主机中的软件中止 机器
Windows Azure 服务总线显然有 256KB 的固定限制,但本地 Windows Server 服务总线有 50MB 的限制。请参阅下面的文章。
提及 256KB 的 Azure 限制 - http://msdn.microsoft.com/en-us/library/windowsazure/hh694235.aspx
提及 50MB - http://msdn.microsoft.com/en-us/library/windowsazure/jj193026.aspx
我正在努力达到 50MB 的限制,我想知道我是否需要做一些事情来以某种方式配置它,或者可能需要以某种方式发送消息。我注意到上面的文章中有一个参数名称,想知道它是否可以在 PowerShell 中使用。
我一直在努力在网上找到一些关于此的好信息。有些文章与 Azure 服务总线相关,而另一些文章与 Windows Server 服务总线相关,存在很多混淆。
有 Service Bus 1.1,但我认为目前处于预览阶段,我不确定这是否会有所帮助。
我正在使用类似于下面的代码来发送消息。
namespaceManager = NamespaceManager.Create(); messagingFactory = MessagingFactory.Create();
queueClient = messagesFactory.CreateQueueClient(queueName);
queueClient.Send(new BrokeredMessage(new string('x', 5226154)));
这是从以下文章的组合中摘录的,第一篇稍微过时,第二篇更清楚地说明了需要更改哪些内容才能正常工作。
http://haishibai.blogspot.co.uk/2012/08/walkthrough-setting-up-development.html
http://msdn.microsoft.com/en-us/library/windowsazure/jj218335(v=azure.10).aspx
希望有人能帮忙。
【问题讨论】:
标签: c# .net servicebus windows-server