Windows services 它是否能够在windows服务中发送服务总线消息

Windows services 它是否能够在windows服务中发送服务总线消息,windows-services,azure-queues,Windows Services,Azure Queues,它是否能够在Windows服务中发送Azure服务总线消息 最近,我构建了一个WindowsNT服务来向Azure队列发送消息。但它失败了。我创建了两个测试控制台应用程序,一个使用与我的Windows NT服务相同的代码来发送服务总线消息,另一个用于接收消息。测试控制台应用程序成功发送和接收消息。在我的windows NT服务中,它不会抛出任何消息或错误 我想知道的是,WindowsNT服务是否支持Azure服务总线消息 我的应用程序既不是工作者角色,也不是web角色。它只是一个Windows

它是否能够在Windows服务中发送Azure服务总线消息

最近,我构建了一个WindowsNT服务来向Azure队列发送消息。但它失败了。我创建了两个测试控制台应用程序,一个使用与我的Windows NT服务相同的代码来发送服务总线消息,另一个用于接收消息。测试控制台应用程序成功发送和接收消息。在我的windows NT服务中,它不会抛出任何消息或错误

我想知道的是,WindowsNT服务是否支持Azure服务总线消息


我的应用程序既不是工作者角色,也不是web角色。它只是一个Windows NT服务。

服务总线客户端代码在其他任何地方都可以使用,包括Windows服务

但是

NT服务通常在您的计算机上作为本地服务或网络服务运行,根据您的网络设置,该帐户可能没有足够的权限通过代理等中介进行通话。我们知道,在我们的一些客户机上,它不允许通过外部代理使用机器帐户,因此机器帐户无法工作。这就是说,如果通信不起作用,您应该也将看到抛出异常,因此您应该仔细检查代码,并/或打开WCF跟踪


克莱门斯

谢谢你的回复。事实上,我发现如果使用QueueClient.BeginSend方法开始异步操作以发送消息,则失败。如果我只使用QueueClient.Send方法,它将成功地发送消息。我还没有找到根本原因,但至少它现在起作用了。这很奇怪,因为在封面下,这是完全相同的代码路径。你调用了EndSend吗?是的,我可以共享我的代码片段:
public void BeginSendMessage(T messageBody){BrokeredMessage=new BrokeredMessage(“测试消息”);message.Properties[“testproperty”]=“Test value”;queueClient.BeginSend(消息,新异步回调(sendpleted),queueClient);}私有void SendCompleted(IAsyncResult结果){QueueClient QueueClient=result.AsyncState作为QueueClient;QueueClient.EndSend(结果);}