【发布时间】:2009-09-23 12:04:08
【问题描述】:
我对 Web 服务开发还比较陌生,我需要在 C# .Net 中创建一个 Web 服务。我之前在 Java 中创建了 Web 服务并使用 Tomcat 运行它们。我必须使用 IIS 来运行 .Net 网络服务还是可以使用第三方网络服务器(Tomcat 或其他)?
谢谢
【问题讨论】:
标签: c# .net web-services
我对 Web 服务开发还比较陌生,我需要在 C# .Net 中创建一个 Web 服务。我之前在 Java 中创建了 Web 服务并使用 Tomcat 运行它们。我必须使用 IIS 来运行 .Net 网络服务还是可以使用第三方网络服务器(Tomcat 或其他)?
谢谢
【问题讨论】:
标签: c# .net web-services
【讨论】:
IIS 有一个 ISAPI 扩展,可以运行 .NET 页面和服务。我不知道任何其他网络服务器有任何此类扩展。
更新:
我只是做了更多的研究。使用Mono project 将允许您关注:
Apache 托管:使用mod_mono,一个允许 Apache 服务的模块 ASP.NET 应用程序。 FastCGI 托管:如果您有一个网络服务器,请使用 FastCGI 托管 支持 FastCGI 协议 扩展服务器。你也可以使用 仅支持 CGI 使用 cgi-fcgi。 XSP:这是一种简单的上手方式,轻量级和简单 用 C# 编写的网络服务器。
【讨论】:
您无需运行 IIS 即可托管服务。
.net(通过 WCF)提供通过 ServiceHost 类将任何应用程序转换为 Web 服务主机所需的所有功能。
【讨论】:
托管环境只需要能够托管 ASP.NET 应用程序即可运行 ASP.NET Web 服务。这意味着您可以在 Tomcat 上使用 Cassini、Mono 之类的工具,甚至可以在使用 http.sys 托管 Http Pipeline 的自定义环境中使用。
【讨论】:
您没有有在 IIS 中托管 WCF,但这样做有几个好处和可能的限制(取决于 IIS 的版本)。 WCF 的优点在于您有多个托管选项。
IIS 正在成为 Windows 世界的“应用程序服务器”,并且是非常有吸引力的 WCF 主机,具体取决于您的需要。在 IIS 中托管很可能与在 Java 世界中的 Tomcat 或其他 J2EE 服务器中托管非常相似——一旦“Dublin”发布,这种类比就会变得更加真实。
请参阅Hosting in Internet Information Services,了解在 IIS 中托管的一些额外好处和可能的限制。
【讨论】: