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