【问题标题】:Asynchronous pages - Mass Transit - Service Bus异步页面 - 公共交通 - 服务总线
【发布时间】:2012-11-29 11:25:15
【问题描述】:

我正在尝试学习如何使用找到 here 的 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#、服务总线

【问题讨论】:

    标签: .net servicebus masstransit


    【解决方案1】:

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

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

    【讨论】:

    • 嗯,我不知道为什么,但是当我将参考从 masstransit.dll 更改为它工作的实际项目时......现在一切正常......谢谢
    猜你喜欢
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    相关资源
    最近更新 更多