2009-07-18 24 views
1

net.msmqプロトコルを使用してwcfサービスを使用していますが、次のエラーでサービスがアクティブ化できません。何が間違っていますか?wcf msmqサービスのアクティブ化に失敗しました

ADでmachineidや何かを検索しようとしているようですが、なぜですか? 流通サービス名はnet.msmqのようなものです:

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) 
+0

私はADに接続されていませんが、アプリケーションはどちらかになることはなく、広告からの何も必要ないことを確認してください。 – mamu

答えて

2

セキュリティ設定にはどのようなものがありますか?既定では、MSMQバインディングは、ユーザーが認証するための証明書を提示し、その証明書を確認するためにADにアクセスする必要があります。

あなたは完全に、すべてのセキュリティをオフにし、あなたの設定にこのスニペットを追加したい場合は、次の

<bindings> 
    <netMsmqBinding> 
    <binding name="NoSecurity"> 
     <security mode="off" /> 
    </binding>  
    </netMsmqBinding> 
</bindings> 
<endpoint name="...." address="..." contract="....." 
    binding="netMsmqBinding" bindingConfiguration="NoSecurity" /> 

こうすることで、あなたはADにアクセスせずにMSMQを呼び出すことができるはずです。

マルク・

+0

回答ありがとうございます – mamu

1

//localhost/private/myservice.svc多分それはメッセージ・キューに書き込むことができるようにADに確認する必要があります。

ADにアクセスできないローカルアカウントで実行している場合は、このエラーが発生することがあります。

1

私のWCFサービスがLocalSystemアカウントまたはNetworkServiceのアカウントとして実行しているWindowsサービスによってホストされているとき、私はこのエラーを持っていました。自分のアカウントのような対話型ログインアカウントで実行するようにWindowsサービスを変更するか、MSMQ-WCF Windowsサービスをホストするだけで作成したものを使用すると、この問題は解決されます。

このエラーはWCFとは関係なく、WCFコードがMSMQと通信できるようにするAD証明書を自動取得できる対話型のログインを持たないサービスと考えられます。

関連する問題