3

MSMQを使用して非常に単純なWCFサービスをセットアップしようとしています。私はここの手順に従っています。サービスを実行して.svcファイルをロードすると、次のエラーが発生します。

The protocol 'net.msmq' is not supported.

これが私の設定の関連部分です:

<services>
  <service name="MSMQService.MSMQService">
    <host>
      <baseAddresses>
        <add baseAddress="http://technoka1-l7:9999/"/>
      </baseAddresses>
    </host>
    <endpoint address="net.msmq://technoka1-l7/private/MSMQService.svc"
              binding="netMsmqBinding" contract="MSMQService.IMSMQService" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>

修正方法に関するアイデアをいただければ幸いです。IISを提案するさまざまな場所を調べましたが、これは現在カッシーニ内で実行されています。

4

5 に答える 5

2

That looks like an error you'd get from IIS. If you are hosting your service in IIS, look at this brief blog post on setting up IIS to handle the netMsmqBinding. For hosting in a Windows service, this old Byte form post has enough to get you going.

于 2012-10-23T16:42:23.753 に答える
1

1) サービスを手動でホストする場合 (コンソールまたは別の Windows アプリケーションを使用)、すべて正常に動作します。
2) wcf サービス アプリケーションを開始しようとすると、msmq バインディングはサポートされません。この問題の解決策はまだ見つかりません。
3) IIS を使用して wcf サービスをホストする場合は、SITE と APPLICATION の両方が msmq プロトコルをサポートしていることを確認してください。

  1. サイト -> バインディング。必要に応じて msmq バインディングを追加します。
  2. サイト -> 詳細設定 -> アクティブなプロトコル。必要に応じて「net.msmq」を追加してください。
  3. アプリケーション -> 詳細設定 -> アクティブなプロトコル。必要に応じて「net.msmq」を追加してください。
于 2013-10-29T05:46:12.203 に答える
1

Cassini は http のみをサポートしているように見えるため、Visual Studio から直接実行する方法はありません。

于 2012-12-03T21:29:20.897 に答える
1

IIS に移行することをお勧めします。IIS 自体でプロトコルを有効にする必要があります。コンソールやサービスなどを使用しているという事実は重要ではありません。サービスのホストは IIS です。これは、使用しているプロトコルとその使用方法によるアクティベーターです。

参照: http://geekswithblogs.net/LessonsLearned/archive/2010/12/27/the-protocol-net.msmq-is-not-supported.aspx

于 2012-10-23T17:44:07.563 に答える
0

また、Visual Studio から直接実行する IIS で WCF net.msmq サービスをデバッグする方法も探していました。私はそれを可能にするこの素晴らしい投稿に出くわしました。

http://codenamesean.wordpress.com/2012/09/26/debugging-a-net-msmq-wcf-service-hosted-in-iis-7/

  • IIS で仮想ディレクトリの [Browse *:80 (http)] リンクを選択して、w3wp.exe プロセスを開始します。
  • デバッグ メニュー => w3wp.exe プロセスにアタッチ
  • クライアントの実行
  • 仮想ディレクトリをクリックし、Service.svc を参照して、Windows プロセス アクティブ化サービスをアクティブにします。(注: デバッグのためにこの手順を実行する必要はありませんでした。)
于 2014-04-07T14:39:57.500 に答える