1

所以我试图从 SharePoint webpart 向端点发送一条简单的消息。现在,我将总线设置在 webpart 中使用的简单静态类中。该类被调用并且总线似乎正在工作,但是当我尝试发送消息时,我得到:

没有为消息 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 并具有两个属性。如果队列不存在,则会正确创建队列。所以看起来一切正常,但由于某种原因,映射不存在。谁能看到我做错了什么?

干杯

4

1 回答 1

0

您必须使用自定义配置源 - http://docs.particular.net/nservicebus/messaging/message-owner

于 2012-09-30T08:48:06.803 回答