【问题标题】:Way to add a web interface to a server?向服务器添加 Web 界面的方法?
【发布时间】:2012-10-12 21:21:55
【问题描述】:

问题:我有一个用 C# 编写的邮件服务器,想添加一个 Web 界面。

在我看来,有两种可能:
1) 有人想在自己的网页/webapp 上集成邮件服务器 --> 需要 WebService 接口
2) 有人想通过 Web 界面访问邮件服务器,例如在 localhost 上进行配置,但也可能用于编写和阅读电子邮件。

统一这两个需求的最佳方法是什么? 我的意思是 2),邮件服务器基本上需要他自己的网络服务器,监听端口 80 或 n,它显示一个页面,例如理想情况下,使用 WebService 将 webserver 功能集成到集成的 webserver-webpage 中。但是,如果在该机器上运行,所述集成网络服务器不应干扰普通网络服务器。

客户端和公司网络中的端口和防火墙也存在问题。

这是可行的/一个好主意,还是有更好的方法?

【问题讨论】:

    标签: c# vb.net web-services architecture


    【解决方案1】:

    您可以使用 SOAP 将所有数据公开为 Web 服务。 .NET 很好地集成了这一点。

    【讨论】:

    • 我也这么认为,但我担心防火墙和端口。我不确定网络服务如何发送和接收请求。
    • “Web 服务”的全部意义在于它通过 HTTP、tcp 端口 80 提供服务。就像任何其他 Web 请求一样...特别是通过典型的防火墙配置实现轻松访问。跨度>
    • @Andrew Barber:好的,如果这是真的,那么按照我描述的方式做是个好主意。
    【解决方案2】:

    这里有几种方法。可能不会干扰现有 Web 服务器的最不显眼的方法是让您的邮件服务器在 Web 服务器不使用的端口(例如 8080 或 8008 等)上创建一个HttpListener。然后它可以侦听请求并发送您喜欢的任何数据或 HTML 页面。

    这种方法的缺点是您失去了 ASP.NET 在服务器上为您提供的所有便利。对于一个只返回数据的简单邮件服务器来说,这没问题。对于阅读和编写电子邮件,它不太方便,但仍然可行。毕竟,有很多基于 Web 的电子邮件应用程序使用非常原始的 HTML 页面进行演示。

    您可以在A Simple HTTP Server 中获取有关使用HttpListener 的更多信息。

    【讨论】:

    • aspnetserve (google-code) 非常适合。只需要看看我是否可以让它在 Linux 上运行。
    【解决方案3】:

    除非另有说明,否则它们使用标准端口 80。

    【讨论】:

      【解决方案4】:

      现在 .NET 通过同一个 [WebService] 类提供 SOAP 和 JSON 接口。因此,部署 Web 应用程序将为您解决这两个问题。

      唯一的问题仍然是如何在邮件和网络邮件应用程序域之间进行互操作。这是您的邮件服务器架构的问题。

      根据我的经验,几乎不可能在您自己的应用程序中运行 ASP.NET 基础架构。

      【讨论】:

      • “现在”? ASMX (WebService) 已成为过去。 WCF 处理 JSON 和 SOAP 等等。
      【解决方案5】:

      我认为 IIS7 将允许您托管使用任何编码(不仅仅是 HTTP)在任何 TCP 端口上侦听的服务,因此您可以在 ASP.NET 中托管您的服务,然后公开页面和 WCF(soap)端点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-18
        • 2012-01-28
        • 2016-04-05
        • 2011-08-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多