在尝试部署服务时,我发现它无法启动,因为MSMQ处于工作组模式。我创建了一个私有队列,并更改了配置文件以引用它,但WCF服务主机拒绝以此消息开头:
绑定验证失败,因为绑定的MsmqAuthenticationMode属性设置为WindowsDomain,但MSMQ安装时禁用了Active Directory集成。
有谁能告诉我如何在配置文件中指定工作组模式?我在MSDN中找到的信息都是关于修改代码中的设置,并没有提到如何在配置文件中指定它。
在我的配置文件中,bindings标记为空(<bindings />
)但服务端点指定binding="netMsmqBinding"
,我想这意味着默认配置正在使用中。
答案 0 :(得分:4)
当我们遇到这个问题时
<security mode="None">
在测试环境中工作。
在最终交付期间,即使这样也没有用。最后这个工作
<security>
<transport
msmqAuthenticationMode="None"
msmqProtectionLevel="None"/>
</security>
答案 1 :(得分:1)
您应该在队列上设置匿名集成身份验证。 Look at this kb on why and how
使用工作组模式的msdn there is a good example。请注意,该示例使用事务性队列。因此,您必须使您的队列成为事务性的。这只能在创建队列时完成。
发布您的代码和配置,以便我们对其进行评论。