0

我正在尝试学习如何使用这里找到的 Mass Transit 。

我用两个控制台制作了一个项目,可以让它们互相交谈。从本质上讲,我只是按照它附带的示例进行操作,并以这种方式学习。

我现在正试图让 Mass Transit 与 Web 应用程序一起工作。我在 VS2010 中使用示例项目内容制作了一个新的 Web 应用程序,并在页面上添加了一个按钮。这个想法是,当您单击按钮时,它会向队列添加一条消息,而我正准备为 Starbucks(公共交通附带的应用程序)提供示例应用程序,它会从队列中读取消息(Cashier 或 Barista 控制台)。所以本质上,我正在尝试将星巴克的“客户”程序变成一个网络界面。

问题:

我阅读了文档,看来我必须在 Application_Start 上的全局应用程序中初始化服务总线。我这样做,然后在按钮上调用它。我只是使用:

 sbc.UseMsmq();
 sbc.ReceiveFrom("msmq://localhost/test_queue");
 sbc.UseControlBus();

在初始化。

我刚刚拥有的按钮:

var message = new NewOrderMessage
{
CorrelationId = _transactionId,
Item = "1",
Name = "1",
Size = "1",
};     
bus.Publish(message);

我也试过:

Bus.Instance.Publish(message, x => x.SetResponseAddress(Bus.Instance.Endpoint.Address.Uri));

和一大堆其他的东西。

它会引发错误,但在:

ServiceBusConfiguratorImpl.cs

这行说:

builder = configurator.Configure(builder);

错误是:

Could not load file or assembly 'Stact, Version=1.1.0.0, Culture=neutral, PublicKeyToken=b800c4cfcdeea87b' or one of its dependencies. The system cannot find the file specified

所以我有点失落......

就像我说的,我真正想做的就是将“客户”程序从星巴克示例更改为 Web 界面,这样我就可以学习如何将公共交通用于 Web 应用程序。

如果有人有关于如何运行它的工作示例或教程,将不胜感激。我在谷歌上搜索了几个小时,但没有发现任何有用的东西......:S

提前致谢,

最诚挚的问候,罗宾

.net、公共交通、MSMQ、C#、服务总线

4

1 回答 1

1

因此,其中一个参考资料,最值得注意的是 Stact,不在网站的 bin 文件夹中。首先确保将 NuGet 引用复制到 Web 应用程序中。如果您遇到任何问题,我也会考虑联系邮件列表https://groups.google.com/forum/?fromgroups=#!forum/masstransit-discuss 。通常得到比这里更好的响应。

据我从您的代码中可以看出,这似乎是正确的。只是发布到总线是您想要做的。装配错误只是意味着你错过了一些东西。一旦你过去了,它就会看到你是否有另一个错误。祝你好运!

于 2012-12-12T02:17:31.820 回答