c# – 组合WCF服务库和WCF服务应用程序
感谢Stack Overflow和其他一些站点,我理解WCF LIbrary和WCF服务应用程序模板之间的区别.
简而言之,Library是一个允许多种类型托管的DLL.它没有.svc文件.虽然服务应用程序模板是使用.svc文件专门使用IIS创建的. 我读到WCF服务库是最好的方法,因为它是最灵活的.但除了使用WCF服务应用程序模板之外,我从未看到有关如何执行此操作的说明. 是否很难从WCF服务库转到IIS从头开始托管?我有两本关于WCF的书,我读了很多文章,但没有一篇介绍如何仅使用WCF服务库和无WCF服务应用程序创建一个svc文件.为什么? Nigel Shaw还在以下链接中提到使用“库”选项存在限制. What is the purpose of WCF Service Library? 基本上我想要做的是在IIS和Windows服务上托管WCF服务.因此,似乎组合方式是最好的方式.不过,我试图了解为什么没有更多关于使用WCF服务库的说明. 好的,我确实找到了一些似乎使用ASP.NET Web应用程序的文章,并告诉您如何为svc文件创建文本文件. 本文:http://debugmode.net/2010/12/25/wcf-service-library-creating-hosting-and-consuming-wcf-service-with-wcf-service-library-project-template/ 而这一个:http://danielvanwyk.wordpress.com/2010/04/30/create-host-and-consume-a-wcf-service-using-the-wcf-service-library-template-in-visual-studio-2008/ 但我仍然不明白为什么仍然需要ASP.NET应用程序?如果我添加一个svc文件,它是否放在wwwroot目录中(这似乎是WCF服务应用程序放置.svc文件的位置? 谢谢! 解决方法
必须托管WCF服务库才能使用 – 您可以在IIS,Windows服务或某些自托管选项(如控制台应用程序,WinForm,WPF等)中托管它.
在您提供的最后两个链接中,它们演示了如何在ASP.NET服务应用程序中托管库,但您不必使用该项目模板来托管它.它只是其中一种选择. 您可以在不使用VS项目模板的情况下创建类库的IIS托管实现,但是您需要手动添加.svc文件和Web.config.我这样做了好几次: >创建一个文件夹(我通常把它放在inetpub的wwwroot文件夹中,但你可以把它放在任何你想要的地方). 现在您有一个IIS托管的服务实例.然后,您可以为Windows服务托管实例使用WCF服务库的另一个副本. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |