wcf msmq服务激活失败 [英] wcf msmq service activation fails
问题描述
我有使用net.msmq协议的wcf服务,但服务无法激活,并出现以下错误.有什么问题吗?
I have wcf service using net.msmq protocol but service fails to activate with following error. What could be wrong?
看起来它正在尝试在AD中找到machineid或其他内容,但是为什么呢? 服务名称类似于net.msmq://localhost/private/myservice.svc
Looks like it is trying to find machineid or something in AD but why? Sevice name is like net.msmq://localhost/private/myservice.svc
A connection with Active Directory cannot be established. Verify that there are sufficient permissions to perform this operation.
System.Messaging.MessageQueue.GetMachineId(String machineName)
System.Messaging.MessageQueueCriteria.set_MachineName(String value)
System.Messaging.MessageQueue.GetPublicQueuesByMachine(String machineName)
System.ServiceModel.Channels.MsmqBindingMonitor.OnTimer(Object state)
推荐答案
您具有哪些安全设置?默认情况下,MSMQ绑定将期望用户出示证书对他们进行身份验证,并需要访问AD来验证该证书.
What security settings to you have? By default, the MSMQ binding will expect users to present a certificate to authenticate them and needs access to AD to verify that certificate.
如果您想完全关闭所有安全性,请将此代码段添加到您的配置中:
If you want to totally turn off all security, add this snippet to your config:
<bindings>
<netMsmqBinding>
<binding name="NoSecurity">
<security mode="off" />
</binding>
</netMsmqBinding>
</bindings>
<endpoint name="...." address="..." contract="....."
binding="netMsmqBinding" bindingConfiguration="NoSecurity" />
这样,您应该可以在不访问AD的情况下调用MSMQ.
That way, you should be able to call MSMQ without access to AD.
马克
这篇关于wcf msmq服务激活失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!