![](/img/trans.png)
[英]How to send automatic email using windows service in asp.net mvc-5 c# app
[英]micro windows service inside ASP.NET MVC app
我有一个ASP.NET MVC应用程序服务我们的网页,我们还为第三方添加了一些服务路由,因为目前我们只有这个MVC应用程序包装在我们的数据库上。 现在我需要实现MQTT消息订阅者,它应该在启动时启动客户端到MQTT代理。
我正在寻找实现一个将实现连接启动到MQTT代理的类,我可以从MVC app的Application_start调用此方法。
原因:为什么我想要同时使用微服务和MVC项目是因为这是一个非常小的项目,我们正处于上线的初始阶段,并且不想扩展当前的系统。实现微服务也需要我实现/创建微服务的REST路由来接收来自代理的事件,我想如果能够直接在数据库存储库中更好地在MVC应用程序中实现,我可以处理。
我想通过遵循这种方法知道我的MVC应用程序可能成为受害者的循环/问题。
到目前为止我的代码看起来像这样
global.asax.cs文件
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
MQTTSubscriber.StartMQTTSubscriber();
}
MQTTSubscriber.StartMQTTSubscriber()是我将处理与MQTT代理的连接的地方。
我有更多的疑惑1)我真的需要Windows服务来建立与代理的连接,我的意思是每次MVC应用程序域启动时都会触发MVC 5 application_start,无论是通过IIS还是Visual Studio,我都可以在内部编写连接建立逻辑MQTTSubscriber.StartMQTTSubscriber()如下所示
// create client instance
MqttClient client = new MqttClient(IPAddress.Parse(MQTT_BROKER_ADDRESS));
// register to message received
client.MqttMsgPublishReceived += client_MqttMsgPublishReceived;
string clientId = Guid.NewGuid().ToString();
client.Connect(clientId);
// subscribe to the topic "/home/temperature" with QoS 2
client.Subscribe(new string[] { "/home/temperature" }, new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });
2)如果这是可行的方式,请通知我需要处理/照顾这项工作的事情。
任何帮助/建议将不胜感激谢谢
是的,你可以在asp.net应用程序内启动微服务。 由于C#不是一种函数式语言,但你可以使用Application start为.net中的任何应用程序进行初始一次启动
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.