ASP.NET MVC后台工作 - 最佳实践

时间:2016-12-01 16:44:50

标签: android asp.net-mvc rabbitmq

我正在开发一个ASP.NET MVC 5应用程序,该应用程序应该接收并向Android智能手机发送消息。我目前实现它的方式是使用消息代理(在本例中为RabbitMQ)并让该代理处理后端和智能手机之间的通信。

在ASP.NET代码中,我创建了一个在global.asax中应用程序开头运行的线程(我见过一些人推荐这个,也许我做错了......)。该线程负责监听代理接收的消息,然后处理它们。

我的问题是:在处理ASP.NET应用程序中的外部消息方面,这是一个很好的做法吗?这是我第一次编写这种应用程序,我不知道我是否正在做正确的事情。有人知道从ASP.NET中的外部设备接收消息的其他方法吗?再说一次,请记住我对ASP.NET很新,也许我会问一些愚蠢的东西,但我只是需要一些关于此的信息。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果有人有类似问题,我会回答我是如何工作的。最后我使用了HangFire(http://hangfire.io/),它很容易配置,只需要在Startup.Auth文件中添加以下代码:

GlobalConfiguration.Configuration.UseSqlServerStorage("db_name");

        app.UseHangfireServer();
        app.UseHangfireDashboard();

以下代码启动后台任务:

        var storage = new SqlServerStorage("db_name");
        var client = new BackgroundJobClient(storage);
        client.Enqueue(() => rabbitInstance.MethodXYZ());

我希望这个解决方案对更多人有用。