そこで、SharePoint Web パーツからエンドポイントに単純なメッセージを送信しようとしています。今のところ、Web パーツで使用する単純な静的クラスでバスを設定しています。クラスが呼び出され、バスが動作しているように見えますが、メッセージを送信しようとすると、次のようになります。
メッセージ SharePointMessages.CreateProject の宛先が指定されていません。メッセージを送信できません。構成ファイルの UnicastBusConfig セクションを調べて、メッセージ タイプの MessageEndpointMapping が存在することを確認してください。
クラスは次のようになります。
public static class Infrastructure
{
public static IBus Bus { get; private set; }
static Infrastructure()
{
var mappings = new MessageEndpointMappingCollection();
mappings.Add(new MessageEndpointMapping()
{
Messages = "SharePointMessages.CreateProject",
Endpoint = "SharePointProxy"
});
Configure config = Configure.WithWeb();
config
.Log4Net()
.DefaultBuilder()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(true)
.UnicastBus()
.Configurer.ConfigureComponent<UnicastBusConfig>(ComponentCallModelEnum.None)
.ConfigureProperty(x => x.MessageEndpointMappings, mappings);
Bus = config.CreateBus().Start();
}
}
SharePointMessages.CreateProject クラスは IMessage を実装し、2 つのプロパティを持ちます。キューが存在しない場合、キューは適切に作成されます。すべてが機能しているように見えますが、何らかの理由でマッピングがありません。誰かが私が間違っていることを見ることができますか?
乾杯