我有一个ASP.NET MVC 3 Web应用程序,其中包含各种组件/层:
现在,当我在我的网站上做某事时(例如提交表格,又称POST) - 在最坏的情况下,可能需要通知所有图层。
现在,我可以将所有这些逻辑构建到我的控制器HTTP POST操作中,但它在逻辑上变得非常胖和重量。
我已经涉足使用Publisher-Subscriber模式(AOP),但我还没有找到一个非常好的.NET实现,我也有人告诉我这不是一个很好的Web实践应用
任何人都可以在这里给我任何建议,或者我坚持使用这样的代码:
[HttpPost]
public ActionResult Do(Something model)
{
_repository.Save(model); // this should be the only line IMO
_service.DoSomething();
_repository.DoSomethingElse();
_domain.DoSomethingMore();
}
我不是在谈论多线程或其他任何东西,而是简单地从控制器上取下关闭,并将其放在关心这些操作的组件上。
答案 0 :(得分:1)
一个好的 PubSub 脚本是Faye,它建立在Node.js上。这非常好,可以用于你的情况。
Faye 是基于 Bayeux 协议的发布 - 订阅消息系统。它为 Node.js 和 Ruby 提供消息服务器,并在服务器和所有主要Web浏览器中使用客户端。
答案 1 :(得分:0)
如果你还没有完全放弃PubSub,你可以看看RabbitMQ。 http://www.rabbitmq.com/
我不明白为什么它不是网络应用程序的“最佳实践”,无论如何这些类型的绝对都很少是正确的。