【问题标题】:Integrate an E-Mail server into ASP.NET将电子邮件服务器集成到 ASP.NET
【发布时间】:2010-07-31 19:42:32
【问题描述】:

我有一个一般设计问题:

我有一个邮件服务器,用 C# 编写。
然后我有一个网络论坛软件,用 C# 为 ASP.NET 编写。

现在我想将邮件服务器集成到 ASP.NET 论坛应用程序中。 例如,我想让人们可以从论坛创建一个邮件列表,并让用户有机会将自己添加到论坛中的邮件列表成员中,然后将新的列表成员添加到相应的邮件列表中服务器。

由于服务器是一个单独的控制台/winforms/服务应用程序,我首先认为最好使用 .NET 远程处理。

但我的第二个想法是,有些用户可能将他们的论坛托管在一个主机上
(a) 他们没有可以做他们想做的事的虚拟机
(b) 主机管理员可能不想安装额外的邮件服务器或为此收取额外费用
(c) 用户的服务计划可能只允许添加 Web 应用程序,而不是外部程序(很可能)


现在,我想问:
是否有可能以某种方式将邮件服务器完全集成到 ASP.NET 应用程序中? (我有服务器+ASP.NET应用的完整源码)

嗯,它可能不是页面或 ashx 处理程序,而是类似 http 模块的东西? 或者将 TCP/IP 应用程序集成到 asp.net 的一般方法是什么? (当然,我假设各个端口都可用/转发 - 我将使其也可以与电子邮件服务器一起作为外部应用程序运行)

【问题讨论】:

    标签: c# asp.net tcp mail-server


    【解决方案1】:

    在理想情况下,我会执行以下操作:

    在您自己的服务器上设置它并公开您的 Web 应用将/可以与之交互的 WCF/Web 服务。

    如果您不能或不想负担让其自行运行的费用,则可以收取订阅费。

    【讨论】:

    • 其实这是一个非常好的主意。我为论坛收费。然后我再次为邮件列表收费。或者我将添加添加到邮件列表邮件中。
    【解决方案2】:

    这可能不是一个好主意,但是您可以在 Global.asax 中启动一个线程并在应用程序池运行/网络应用程序未重新加载时进行后台处理。所以你可以在那里启动你的服务器,但你无法控制它的生命周期

    【讨论】:

      【解决方案3】:

      添加到 chris166 的评论...您也无法控制应用程序何时启动。 [因为在请求页面之前不会加载应用程序......]在 Web 应用程序和控制台/服务应用程序之间设置某种集成可能是一个更好的主意。

      我可能倾向于设置一个近乎实时的集成,其中邮件服务器轮询论坛应用程序以获取请求的更改。

      【讨论】:

      • 好吧,我只需要在每次重启后自己请求一个页面。好吧,没错,如果我不是管理员,那么我也无法控制它——因为我不知道服务器何时、是否以及多少次重新启动。但为什么要投票?论坛应用程序将通过 .NET 远程处理立即将更改发送到服务器。无需轮询。但更好的问题是服务器将保持运行多长时间。也就是说,webapp 会在指定时间后被垃圾回收吗?
      • 部分是我的偏好...我的工作假设是您几乎无法控制 Web 应用程序部署到的环境。在这种情况下,Web 服务 API 似乎是最实现集成的可靠/最简单的方法。如果我没记错的话 IIS 可以托管远程应用程序,但我可能会倾向于 Web 服务......
      猜你喜欢
      • 2017-10-09
      • 2015-09-05
      • 2017-08-13
      • 2011-12-03
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多