【问题标题】:What is the difference between using a .svc file and hosting the WCF service in 'WCF Service Host'?使用 .svc 文件和在“WCF 服务主机”中托管 WCF 服务有什么区别?
【发布时间】:2011-09-11 17:30:06
【问题描述】:

我写了一个服务,它有一个 .svc 文件。我可以浏览到这项服务,但这似乎是一种奇怪的方式。我想知道是否可以使用 .svc 文件生成服务,或者我们应该考虑使用 WCF 服务主机并设置绑定等......

【问题讨论】:

    标签: c# asp.net wcf


    【解决方案1】:

    一个 svc 文件用于在 IIS 中进行托管(它现在可以在 .NET 4.0 中托管 without these)。除非您有自行托管的理由,否则我强烈建议您坚持使用 IIS (WAS),因为它“免费”提供了如此多的托管基础​​架构。

    更新 (11/16): 更新了断开的链接以指向比较 ASP.NET 论坛帖子。以前的链接是here,以防它在未来某个时候恢复。

    【讨论】:

    • 很酷,是的,刚刚阅读了有关自托管的信息,我想如果我们想允许 TCP 绑定,我们将自托管。对于我们的需要,IIS 中的 .svc 就可以了!
    • @Pete2k 您还可以将 WAS 用于 TCP 绑定。事实上,IIS7 中 WAS 的核心目的是提供超越 HTTP 的托管功能。要让您的解决方案通过 TCP 进行通信,只需在您的配置中的 HTTP 旁边添加一个 TCP 端点定义(并为远程客户端取消适当的防火墙限制)。
    • @DiegoDeberdt 更新了链接。见说明。
    【解决方案2】:

    嗯,在 WCF 中,您不仅限于在 IIS 中托管。 .svc 文件相当于 asmx 文件。如果您要在 IIS 中托管,我使用了 .svc 文件,但如果我在控制台应用程序或 Windows 服务中托管,我将通过 ServiceHost 实例化该服务。

    【讨论】:

      【解决方案3】:

      据我所知,在 IIS 中托管服务时需要 .svc 文件。 如果您想以其他方式托管您的服务(例如,通过在代码中实例化服务主机),则不需要它。

      话虽如此,我个人更喜欢使用 IIS 进行服务托管。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-15
        • 2012-10-19
        • 2014-08-23
        • 2011-02-01
        • 2010-10-26
        • 1970-01-01
        • 1970-01-01
        • 2011-10-05
        相关资源
        最近更新 更多