c# – 组合WCF服务库和WCF服务应用程序

前端之家收集整理的这篇文章主要介绍了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文件夹中,但你可以把它放在任何你想要的地方).
>在步骤1中创建的文件夹中创建bin文件夹,并将WCF服务库和任何其他必需的程序集放入其中.
>在步骤1中创建的文件夹中添加带有相应标记的.svc文件.
>在步骤1中创建的文件夹中添加具有相应服务模型配置的Web.config.
>在IIS中创建指向您创建的文件夹的应用程序.

现在您有一个IIS托管的服务实例.然后,您可以为Windows服务托管实例使用WCF服务库的另一个副本.

猜你在找的C#相关文章