我在运行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 Service Bus显然具有256KB的固定限制,但内部部署Windows Server Service Bus的限制为50MB.请参阅以下文章.
提到Azure限制为256KB - http://msdn.microsoft.com/en-us/library/windowsazure/hh694235.aspx
提到50MB - http://msdn.microsoft.com/en-us/library/windowsazure/jj193026.aspx
我正在努力达到50MB的限制,并且想知道我是否需要做某些事情来以某种方式配置它,或者可能需要以某种方式发送消息.我注意到上面的文章中有一个参数名称,并想知道是否可以在PowerShell中使用它.
我很难在网上找到一些好的信息.有一些与Azure Service Bus相关的文章,但与Windows Server Service Bus有关的其他文章存在很多混淆.
有Service Bus 1.1,但我认为这是预览,我不确定这会有所帮助.
我使用类似于下面的代码发送消息.
namespaceManager = NamespaceManager.Create(); messagingFactory = MessagingFactory.Create();
queueClient = messagingFactory.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
我希望有人能帮帮忙.