我刚刚开始使用 Microsoft Service Bus。现在,我个人面临的挑战是,我是在下班后、在自己的时间等进行此操作,这意味着我正在使用虚拟机和非域电脑。这些人都是工作组。
我取得了相当大的成功,特别是在我偶然发现这个链接之后:Microsoft Service Bus 1.0 无法与客户端域之外的服务器通信 https://stackoverflow.com/questions/13179937/microsoft-service-bus-1-0-unable-to-communicate-with-a-server-outside-the-client
这个家伙提供了急需的推动力,让我能够使用命名空间来创建队列等。
然而,当我到达 QueueClient.Send() 函数时,我仍然得到(并且我解释了一下)。
"The token provider was unable to provide a security token while accessing 'https://Windows2008Server:9355/ServiceBusDefaultNamespace/$STS/Windows/'. Token provider returned message: ''.
上面链接中的相同代码是我用于消息工厂的代码。所以我的问题是,有人对如何克服这个发送工作有任何想法吗?
如果我能解决这个小问题,那么我就可以开始了解服务总线的真正功能。
非常感谢!
Nick
和以前一样的问题,将我的代码更改为:
TokenProvider localUserTokenProvider = WindowsTokenProvider.CreateWindowsTokenProvider(connBuilder.StsEndpoints,new System.Net.NetworkCredential("LocalServer", "LocalPassword"));
MessagingFactory messageFactory = MessagingFactory.Create(connBuilder.GetAbsoluteRuntimeEndpoints(), localUserTokenProvider);
NamespaceManager namespaceManager = new NamespaceManager(connBuilder.GetAbsoluteManagementEndpoints(), localUserTokenProvider);
所以,看来我仍然需要在他们两个上拥有相同的帐户......