如果我要在 IIS 中托管 WCF 服务,使用 WCF 服务而不是 WCF 库有啥好处?
Posted
技术标签:
【中文标题】如果我要在 IIS 中托管 WCF 服务,使用 WCF 服务而不是 WCF 库有啥好处?【英文标题】:What is the advantage of using a WCF service instead of a WCF library if I am going to host a WCF service in IIS?如果我要在 IIS 中托管 WCF 服务,使用 WCF 服务而不是 WCF 库有什么好处? 【发布时间】:2016-11-19 03:59:40 【问题描述】:我了解 WCF 库和 WCF 服务之间的区别。我通常会构建一个 WCF 库并从 WCF 服务中引用它。但如果我要部署到 IIS,为什么不只部署 WCF 库而忘记创建 WCF 服务。我部署哪一个有关系吗?
【问题讨论】:
What is the difference between a WCF Service Application and a WCF Service Library?的可能重复 不,这个问题不是重复的。这个问题询问在 IIS 主机的上下文中使用其中一个是否有任何好处。 IIS 在日志记录和错误处理方面往往更加健壮。服务库为您提供了在 IIS 或其他主机(甚至多个主机)中托管服务以及代码分离的优势。您还可以非常轻松地针对 WCF 服务应用程序运行 WCFTestClient。如果您只打算在 IIS 中托管,那么服务应用程序可能是最好的。在功能上,WCF 服务应用程序和 WCF 服务库是等价的。 我通常会同意托管服务比托管图书馆更好,但我想确定这是否属实。 @user3366675 - 您提出的问题有多个有效答案。这实际上取决于项目/应用程序的要求。如果您只打算在 IIS 中托管它,则服务应用程序非常好。如果您认为您可能以其他方式托管服务(例如,Windows 服务),那么您将希望使用库来避免代码重复。我两种方式都做过,但我通常倾向于使用服务应用程序。 【参考方案1】:回答我自己的问题:根据我的阅读,部署 wcf 库或 wcf 服务似乎并不重要。如果部署库,请确保将应用配置文件的内容复制到 Web 配置文件。 wcf 服务也提供了一个 svc 文件,但只有在使用 4.0 或更高版本以外的 .net 框架的早期版本时才需要它。如果您部署服务而不是库,则服务的应用程序配置文件将在部署时将内容传递到 Web.config 文件。我很确定这些是唯一的区别。回答我问题的两个人并没有真正花时间阅读和理解这个问题。它被标记为可能重复,显然不是。
【讨论】:
以上是关于如果我要在 IIS 中托管 WCF 服务,使用 WCF 服务而不是 WCF 库有啥好处?的主要内容,如果未能解决你的问题,请参考以下文章
想要将 WCF Web 服务作为 Windows 服务托管,而不是在 IIS 中托管
我们啥时候应该在 IIS 中托管 WCF 服务,啥时候应该在 Windows 服务中托管?