[在Azure forums上交叉发布,因为我没有得到任何答案]
您好,
我已经在使用SQL Express的Windows 8 Pro开发计算机上安装了用于Windows Server 1.1 Preview的Service Bus。我的帐户是本地管理员。
虽然检查队列是否存在似乎有效(至少没有产生任何错误),但在尝试创建队列时遇到异常,说“没有服务托管在指定的地址”。
任何帮助都将不胜感激。
谢谢, 托马斯
更新:因为我遵循these instructions,所以缺少域名绝对不是问题。我也确定我的身份验证数据是正确的,因为如果我更改了密码,对.QueueExists()
的调用就会失败。
但是,在调用.CreateQueue()
:
A first chance exception of type 'Microsoft.ServiceBus.Messaging.MessagingEntityNotFoundException' occurred in Microsoft.ServiceBus.dll
System.Transactions Critical: 0 :
<TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical">
<TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier>
<Description>Unhandled exception</Description>
<AppDomain>ServiceBusTest.vshost.exe</AppDomain>
<Exception>
<ExceptionType>Microsoft.ServiceBus.Messaging.MessagingEntityNotFoundException, Microsoft.ServiceBus, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</ExceptionType>
<Message>The remote server returned an error: (404) Not Found. No service is hosted at the specified address..TrackingId:ab98e78f-5bd0-43df-92dc-5703b9f7f5e1_GAdditive,TimeStamp:10/13/13 8:45:46 AM</Message>
<StackTrace> at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
at Microsoft.ServiceBus.Common.AsyncResult`1.End(IAsyncResult asyncResult)
at Microsoft.ServiceBus.NamespaceManager.OnEndCreateQueue(IAsyncResult result)
at Microsoft.ServiceBus.NamespaceManager.EndCreateQueue(IAsyncResult result)
at Microsoft.ServiceBus.NamespaceManager.CreateQueue(QueueDescription description)
at ServiceBusTest.Program.Main(String[] args) in c:\Users\Thomas\Documents\Visual Studio 2012\Projects\ServiceBusTest\ServiceBusTest\Program.cs:line 40
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()</StackTrace>
<ExceptionString>The remote server returned an error: (404) Not Found. No service is hosted at the specified address..TrackingId:ab98e78f-5bd0-43df-92dc-5703b9f7f5e1_GAdditive,TimeStamp:10/13/13 8:45:46 AM</ExceptionString>
<DataItems>
<Data><Key>DisablePrepareForRethrow</Key><Value></Value></Data>
<Data><Key>Microsoft.ServiceBus</Key><Value>Microsoft.ServiceBus</Value></Data>
</DataItems>
<InnerException>
<ExceptionType>System.Net.WebException, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
<Message>The remote server returned an error: (404) Not Found.</Message>
<StackTrace> at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at Microsoft.ServiceBus.Messaging.ServiceBusResourceOperations.CreateOrUpdateAsyncResult`1.&lt;GetAsyncSteps&gt;b__14(CreateOrUpdateAsyncResult`1 thisPtr, IAsyncResult r)
at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)
</StackTrace>
<ExceptionString>System.Net.WebException: The remote server returned an error: (404) Not Found.
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at Microsoft.ServiceBus.Messaging.ServiceBusResourceOperations.CreateOrUpdateAsyncResult`1.&lt;GetAsyncSteps&gt;b__14(CreateOrUpdateAsyncResult`1 thisPtr, IAsyncResult r)
at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)
</ExceptionString>
</InnerException>
</Exception>
</TraceRecord>
答案 0 :(得分:5)
我按照MSDN上的示例代码进行操作,但我的错误完全相同。我花了一个小时试图找出问题所在,然后我找到了post,这解释了问题。基本上,您需要安装Service Bus 1.0 Nuget软件包而不是1.1版本,这会导致一些不兼容问题。以下文字引自有用的博客文章
该问题的一个解决方案是按照说明进行操作 在MSDN文章中提供升级到“Windows Azure Pack: 服务总线1.1“涉及卸载服务总线 Windows 1.0并使用版本为2.1.0.0的Microsoft.ServiceBus.dll。
另一个解决方案是删除Nuget包(ServiceBus 1.1 for Windows Server)并安装(ServiceBus 1.0 for Windows Server) 这将添加版本为1.8.0.0的Microsoft.ServiceBus.dll。
我已将我的示例代码(设置,发送和接收消息)的详细信息放在博客帖子中here
答案 1 :(得分:3)
所以最终证明最新版本的Service Bus客户端库(Microsoft.ServiceBus.dll v2.1.3)与Service Server for Windows Server v1.1预览版不兼容...切换回v2.0.1解决了这个问题。