.net WCF服务库的目的是什么?

.net WCF服务库的目的是什么?,.net,wcf,.net,Wcf,WCF服务库的目的是什么? 我理解如果你构建了一个IIS托管服务,你就创建了一个web项目,如果是自托管的,你就创建了一个.exe 使用WCF作为DLL的真实场景是什么 “WCF服务应用程序”本身就是一个 直接web服务应用程序依赖 关于WCF技术(类似于 NET web服务开发)。 另一个是“WCF服务库” hand是一个编译过的组件,可以 可以部署为web服务或 Windows服务,甚至作为 自定义托管应用程序 我将始终创建一个WCF库作为类库-它更易于使用。您可以完全灵活地在IIS中托管W

WCF服务库的目的是什么? 我理解如果你构建了一个IIS托管服务,你就创建了一个web项目,如果是自托管的,你就创建了一个.exe

使用WCF作为DLL的真实场景是什么

“WCF服务应用程序”本身就是一个 直接web服务应用程序依赖 关于WCF技术(类似于 NET web服务开发)。 另一个是“WCF服务库” hand是一个编译过的组件,可以 可以部署为web服务或 Windows服务,甚至作为 自定义托管应用程序


我将始终创建一个WCF库作为类库-它更易于使用。您可以完全灵活地在IIS中托管WCF服务(通过在其中提供虚拟目录和.svc文件),或者您可以编写自己的自托管EXE并从中引用类库中的WCF服务

将WCF服务直接放在web项目中似乎是一个非常糟糕的主意,可能只对非常简单的教学目的有用——只是为了展示如何开始。对于“实时”系统,我永远不会这样做


Marc

虽然创建WCF服务作为类库确实会给您带来更多的灵活性,但这种灵活性是有代价的,如果认为更灵活的解决方案始终是首选解决方案,或者认为不太灵活的解决方案是幼稚的,或者只适合“简单的教学目的”,那就错了

绝大多数WCF服务都作为web服务托管,永远不会以任何其他方式部署

与WCF类库相比,使用WCF服务应用程序有三个优点:

  • 如果将web服务创建为类库,则配置文件将是app.config文件,而不是web.config文件。app.config文件本机不支持web.config文件那样的多个配置文件和配置转换。如果要在app.config文件上进行配置转换,则必须使用第三方解决方案比如慢猎豹

  • 发布站点时,如果使用WCF服务应用程序,则可以充分利用Web部署(http://www.iis.net/downloads/microsoft/web-deploy)这是一种将解决方案发布到IIS的强大而灵活的方法

  • 如果您决定自动生成和部署以实现与TFS的持续集成,那么您将需要自动发布服务。如果您使用WCF服务,您可以配置TFS来运行Web deploy,它将根据目标生成配置合并Web.config文件,执行增量发布ish,在服务器上启用无管理员权限的发布和其他好处。如果使用WCF类库,则必须编写自定义工作流解决方案来合并app.config文件,使用xCopy进行部署,并且通常更难实现部署自动化


  • 摘要,通常情况下,更灵活的解决方案是以丢失特定工具支持为代价的。如果像大多数WCF服务解决方案一样,您的应用程序总是托管在IIS中,则可以考虑使用WCF服务应用程序而不是WCF类库使用该支持。ry可以部署到IIS(感谢您的链接)为什么我要创建一个WCF作为一个web项目?听起来服务库是一个更好的选择。你什么时候会使用它们?我们遇到了这个问题。答案很好!当我们从VS IDe选择WCF服务库项目模板时,没有svc文件,只有一个dll创建。所以我想知道,我们可以在没有svc文件的情况下将dll托管到iis中吗。请让我知道。Thank#1部分不正确。类库可能会创建app.config,但未使用。引用/托管类库的应用程序将拥有自己的web/app.config,即实际使用的web/app.config。您可以通过手动生成.svc文件或使用无文件act在IIS中托管WCF服务库Iviation,在这种情况下,您将使用web.config而不是app.config。当我们从VS IDe选择wcf服务库项目模板时,没有svc文件,只有一个dll创建。因此,我想知道我们是否可以在没有svc文件的情况下将该dll托管到iis中。请让我知道。thanks@Thomas:Marc明确表示需要提供一个.svc文件,但.svc文件可以在一个项目中,标记引用另一个项目(WCF服务库)中的类。在.NET 4中,您可以在.NET 4中使用无文件激活:“更简单的方法是在Web.config中定义虚拟激活端点,从而完全消除对.svc文件的需要”()。