这是WCF服务吗?

本文关键字:服务 WCF 这是 | 更新日期: 2023-09-27 18:04:34

我的问题是关于WCF服务的。我最近参与了一个ASP。. NET项目使用WCF服务(我以前没有接触过它们),我对什么是WCF服务和什么不是WCF服务感到困惑。

我的困惑来自于我们正在使用的一个WCF服务,它似乎不是一个典型的WCF服务。当我通过在Visual Studio中添加一个新项目(使用"WCF服务应用程序"模板)来创建WCF服务时,它会生成一个带有服务的项目。SVC和项目的图标是web服务的图标。然而,对于另一个WCF服务,我们有(用于从Ajax到ASP的调用)。我们有一个看起来像普通c#项目的项目——它的图标是典型的c#项目图标,项目内容只包含一个Service.cs文件(不是普通的。svc扩展名),它调用其他函数。这个service .cs文件实现了ServiceContract/ServiceBehavior/OperationContract属性,所以也许这是一个手动创建的WCF服务?

在主项目Web。配置中有一个指向Service.cs文件的标签,而使用WCF模板创建的"真正的"WCF服务不包括这个标签。

希望我已经包含了足够的信息,有人告诉我,如果关注的项目实际上是一个WCF服务?

提前感谢!

这是WCF服务吗?

WCF代表Windows通信基础。WCF是Web服务+MSMQ+ . net Remoting +COM +的组合。如果将WCF与Web服务进行比较,Web服务的限制是Web服务只支持HTTP协议。你不能在两个不同的协议上托管web服务。3] webservice不提供安全性、并发控制等。

现在来了…您可以使用wcf模板和其他类库项目来创建wcf服务。如果你使用类库,那么你可以通过几种方式托管它,如Self Hosting, host On IIS即。svc文件,但如果你使用WCF模板包含。svc文件,如你所提到的你只能在IIS上托管该项目/服务....

WCF服务可以是自托管的,无需使用Visual Studio项目模板即可创建。您所需要做的就是一个适当属性的接口,一个实现该接口的类,以及在项目中实例化ServiceHost的代码。大多数人会把服务配置放在app.config文件中,但也有一些人喜欢在代码中配置服务。

WCF项目模板简单地包含了一些东西,以便您可以轻松地在ISS或Windows激活服务(WAS)中托管服务。