最終的に私のソリューションをデベロッパー環境に展開しました。これは実際に私のローカルマシンでは動作しますが、メッセージがリモートサーバ間でチャットしているときは動作しません。サービスエンドポイントは公開イベントを受信していません
edit また、Windowsサービスをネットワークサービスとして実行しており、rebusのログ記録が正常に動作しています。ここで
は私の構成セットアップです:
await this.bus.Publish(new Events.UserUpdated
{
UserId = notification.Id,
Firstname = notification.Firstname,
Lastname = notification.Lastname,
});
0:ここ
出版社
Configure.With(new SimpleInjectorContainerAdapter(container))
.Transport(t => t.UseMsmq("Identity.Web"))
.Subscriptions(s => s.StoreInSqlServer("Integration", "Subscription", true, true))
.Options(b => b.EnableMessageAuditing("Identity.Web.Audit"))
.Options(b => b.SimpleRetryStrategy(errorQueueAddress: "Identity.Web.Error"))
.Start();
エンドポイントレシーバー
var bus = Configure.With(new CastleWindsorContainerAdapter(container))
.Transport(t => t.UseMsmq("Comply360.User.Management"))
.Subscriptions(s => s.StoreInSqlServer("Integration", "Subscription", isCentralized: true))
.Options(b => b.EnableMessageAuditing("Comply360.User.Management.Audit"))
.Options(b => b.SimpleRetryStrategy(errorQueueAddress: "Comply360.User.Management.Error"))
.Logging(l => l.Serilog(Log.Logger))
.Start();
bus.Subscribe<UserCreated>();
bus.Subscribe<UserUpdated>();
は、パブリッシングコードであります
そして、私のサブスクリプション・ストア内の二つのレコード:
Identity.Events.UserCreated, Identity.Messages Comply360.User.Management[email protected]
Identity.Events.UserUpdated, Identity.Messages [email protected]
すべてのヘルプは感謝大幅だろう!
編集をご覧ください。私もendpoingのmsmq End2Endログをチェックし、 "メッセージがネットワーク経由で来た"と言います。 – Marco
私のマシンでは確認できませんが、Windows 2008は匿名ログインまたはEveryoneグループのアクセス許可を開けません。送信者に必要なすべてのアクセス許可を知っていますか?送信する、覗く、など? – Marco
私は通常、ドメインアカウントサービスユーザーとしてログオンするためにWindowsサービスをインストールしました。マシンが同じドメインにある場合、個々のキューに権限を設定するのは簡単です。右クリックしてプロパティ/セキュリティに行き、適切な権限を割り当てます。 – mookid8000