Sharepoint 2010 没有为消息Nservicebus 2.6和SharePoint指定目标

Sharepoint 2010 没有为消息Nservicebus 2.6和SharePoint指定目标,sharepoint-2010,nservicebus,Sharepoint 2010,Nservicebus,因此,我尝试将一条简单的消息从SharePoint Web部件发送到端点。现在,我正在Web部件中使用一个简单的静态类来设置总线。班级被呼叫,总线似乎在工作,但当我尝试发送消息时,我得到: 没有为message SharePointMessages.CreateProject指定目标。无法发送消息。检查配置文件中的UnicastBusConfig部分,并确保该消息类型存在MessageEndpointMapping 该类如下所示: public static class Infrastr

因此,我尝试将一条简单的消息从SharePoint Web部件发送到端点。现在,我正在Web部件中使用一个简单的静态类来设置总线。班级被呼叫,总线似乎在工作,但当我尝试发送消息时,我得到:

没有为message 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并具有两个属性。 如果队列不存在,则可以正确创建队列。看起来一切都正常,但由于某些原因,映射不存在。有人能看出我做错了什么吗


干杯

您必须使用自定义配置源-

尝试用程序集的名称限定类型的名称。例如:SharePointMessages.CreateProject,AssemblyName我仍然收到相同的消息,我确保所有内容都部署到GAC,因此所有程序集都在同一个位置。您是否考虑过将堆栈升级到版本3?感谢这并不能直接解决您的问题,但是2.6有一些问题已经在3.x中解决了