没有Active Directory集成的NetMsmqBinding和专用队列 [英] NetMsmqBinding and private queues without Active Directory integration

查看:48
本文介绍了没有Active Directory集成的NetMsmqBinding和专用队列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用netMSMQBinding将消息发送到队列.我正在使用Windows 2003服务器.消息没有出现在队列中,我也尝试在Vista框中使用,但结果相同. WCF实施中是否有其他区别.启用日记后,我可以在日记中看到所有消息,但在队列中看不到.

我正在一台服务器上运行所有内容,并且队列没有Active Directory集成.我认为这是我的应用程序中的一个问题,但是后来我从MSDN上运行了几个示例,但没有成功(队列中没有消息).

这是服务器上的MSMQ安装问题还是我需要ActiveDirectory集成?

这是配置文件.

I am trying to use netMSMQBinding to send messages to the queue. I am using Windows 2003 server.  The messages do not appear in the queue and I tried on a Vista box also but same result.  Is there something different in WCF implementation.  When I enable Journal then I can see all the messages in Journal but not in the Queue.

I am running everything on one server and also queues does not have Active Directory Integration. I thought it is an issue in my application but then I ran couple of samples from MSDN but none worked(No messages in queue) .

Is it a MSMQ setup issue on my server or do I need ActiveDirectory Integration?

Here is the configuration file  

-----服务器------

-----Server ------

< bindings>
< netMsmqBinding>
无"; msmqProtectionLevel =无". />
.< message clientCredentialType ="Windows"; />
</security<</</binding>
<//netMsmqBinding>
</bindings>
< services " OrderProcessorServiceBehavior"名称=" Microsoft.ServiceModel.Samples.OrderProcessorService<><端点地址=" net.msmq://localhost/private/ServiceModelSamplesTransacted" bindingConfiguration ="NewBinding0&"
binding ="netMsmqBinding"; contract ="Microsoft.ServiceModel.Samples.IOrderProcessor" />
.< endpoint address ="mex" binding ="mexHttpBinding" contract ="IMetadataExchange" />
主机


http://localhost :8000/ServiceModelSamples/service " />
</baseAddresses>
</host>
</service>
</services>

------客户端- ----------------

  <bindings>
      <netMsmqBinding>
        <binding name="NewBinding0">
          <security mode="Transport">
            <transport msmqAuthenticationMode="None" msmqProtectionLevel="None" />
            <message clientCredentialType="Windows" />
          </security>
        </binding>
      </netMsmqBinding>
    </bindings>
    <services>
      <service behaviorConfiguration="OrderProcessorServiceBehavior"
        name="Microsoft.ServiceModel.Samples.OrderProcessorService">
        <endpoint address="net.msmq://localhost/private/ServiceModelSamplesTransacted" bindingConfiguration="NewBinding0"
          binding="netMsmqBinding" contract="Microsoft.ServiceModel.Samples.IOrderProcessor" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8000/ServiceModelSamples/service" />
          </baseAddresses>
        </host>
      </service>
    </services>

------ Client------------------

< system.serviceModel>
<绑定>
< netMsmqBinding>
<绑定名称="NewBinding0&"<
;
< transport msmqAuthenticationMode =无"; msmqProtectionLevel =无". />
.< message clientCredentialType ="Windows"; />
</security>
</binding>
</netMsmqBinding>
</bindings>
< client><>定义NetMsmqEndpoint->
< endpoint address ="net.msmq://localhost/private/ServiceModelSamplesTransacted'';
绑定="netMsmqBinding"; bindingConfiguration ="NewBinding0&";合同="Microsoft.ServiceModel.Samples.IOrderProcessor"; />
</client>

<system.serviceModel>
    <bindings>
      <netMsmqBinding>
        <binding name="NewBinding0">
          <security mode="Transport">
            <transport msmqAuthenticationMode="None" msmqProtectionLevel="None" />
            <message clientCredentialType="Windows" />
          </security>
        </binding>
      </netMsmqBinding>
    </bindings>
    <client>
      <!-- Define NetMsmqEndpoint -->
      <endpoint address="net.msmq://localhost/private/ServiceModelSamplesTransacted"
                binding="netMsmqBinding"  bindingConfiguration="NewBinding0"
                contract="Microsoft.ServiceModel.Samples.IOrderProcessor" />
    </client>

</system.serviceModel>

  </system.serviceModel>







感谢您的帮助.








Thanks for your help.

推荐答案

托管服务器的进程是什么?如果您使用的是IIS,则它必须是IIS7(即Vista或Windows Server 2008),否则它不能接受来自队列的消息.至少,这就是我的研究发现的内容.我自己也遇到类似的问题.出于某种原因,即使在运行时没有出现错误,该消息也永远不会出现在Queue上:/

-shnar
What process is hosting your server? If you're using IIS, it needs to be IIS7 (i.e. Vista or Windows Server 2008) otherwise it cannot accept messages from a Queue. At least, that's what my research is uncovering. I'm having similar issues myself. For some reason, even though at run time I get no errors, the message never appears on the Queue :/

-shnar


这篇关于没有Active Directory集成的NetMsmqBinding和专用队列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆