代码之家  ›  专栏  ›  技术社区  ›  punkouter

msmq/.exe与Web服务…mef ioc?

  •  1
  • punkouter  · 技术社区  · 15 年前

    我们正在讨论如何正确设置通知服务。这个服务将被各种应用程序调用,服务将需要返回相关数据。

    我的感觉是,您只需创建一个Web服务,Intranet门户(或任何东西)可以通过发送用户ID访问该服务,并返回任何信息(用户425报告到期90天,应用程序已被拒绝)。等等)我们有多个内部网应用程序以及门户(让我们称之为应用程序A、B和C)。

    这里的另一个人说我们需要使用msmq。因此,我做了一些研究,据我所知,msmq的意义在于,当您有一个用户时,它会执行某种长的、不能同步运行的请求。如果这些呼叫需要0.02秒。msmq的优势是什么?我所要做的就是发回一条信息…

    那么哪个更有意义呢?

    另外:应用程序A、B和C都有自己的业务逻辑来确定哪些消息要发送回主门户应用程序…所以我可以。

    1. 通知Web服务是否包含应用程序A B和C的所有逻辑?现在的问题是,我不得不理解应用程序A B和C是如何工作的,所以我可以让WS发回适当的消息。

    2. 使用mef/ioc,作为构建过程的一部分,我得到一个实现特定接口的mef.dll。所以我的通知程序jsut转到各种应用程序,并说给我你的biz逻辑dll…所以一旦我拥有了所有的dll,知道了接口,我就可以通过thme循环得到我需要的数据…这样,它就达到了A、B和C的devs,这些devs是该域的导出者,用于实现该消息传递接口。

    帮助。(我几乎不懂我的意思,所以我可以离开那里。)

    1 回复  |  直到 15 年前
        1
  •  1
  •   ckramer    15 年前

    I think part of the issue here is that there is some confusion about exactly what the role that MSMQ would be playing in this. Basically you have two methods of doing these notifications:

    1. 有一系列的Web服务,可以查询这些服务以获得所需的通知(比如pull模型)
    2. Have the applications publish status changes that occur during the course of them doing their job, some of which can be picked up by the notification service and then processed (a push model)

    Now, in the case of option 2, you can use something like NServiceBus 设置一个发布/订阅消息传递系统,允许应用程序发布系统中的重要事件,以及一个通知服务来订阅需要生成通知的消息。在这种情况下,nservicebus使用msmq作为默认传输,因此在这种情况下,msmq将出现在图片中,但仅作为实现细节。

    在选项1的情况下,您可以通过任何方式实现它,包括WCF Web服务。