1

我有一个通用的设计问题:

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

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

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

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


现在,我想问:
是否可以将邮件服务器完全集成到ASP.NET 应用程序不知何故?(我有服务器 + ASP.NET 应用程序的完整源代码)

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

4

3 回答 3

1

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

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

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

于 2010-08-05T20:35:45.533 回答
0

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

于 2010-08-05T19:27:49.773 回答
0

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

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

于 2010-08-05T20:29:36.940 回答