繁体   English   中英

这是WCF服务吗?

[英]Is this a WCF Service?

我的问题是关于WCF服务。 最近,我参与了一个与WCF服务一起使用的ASP.NET项目(我之前对它们没有太多的了解),并且我对什么是WCF服务以及什么不是WCF服务感到困惑。

我的困惑来自我们正在使用的WCF服务,这似乎不是典型的WCF服务。 当我通过在Visual Studio中添加新项目(使用“ WCF服务应用程序”模板)创建WCF服务时,它将生成一个带有Service.svc的项目,并且项目图标属于Web服务图标。 但是,对于我们拥有的另一个WCF服务(用于从Ajax到ASP.NET应用程序的调用使用),我们有一个看起来像是普通C#项目的项目-其图标是典型的C#项目图标,并且项目内容仅包括一个Service.cs文件(不是普通的.svc扩展名),该文件调用其他函数。 此Service.cs文件实现ServiceContract / ServiceBehavior / OperationContract属性,但是,这也许是手动创建的WCF服务吗?

在主项目Web.config中,有一个标记指向Service.cs文件,而使用WCF模板创建的“真实” WCF服务不包含此标记。

希望我提供了足够的信息,以便有人告诉我所关注的项目是否实际上是WCF服务?

提前谢谢了!

WCF代表Windows Communication Foundation。 WCF是Web服务+ MSMQ + .NET Remoting + COM +的组合。 如果将WCF与Web服务进行比较,则Web服务的局限性是Web服务仅支持HTTP协议。2]无法在两个不同的协议上托管Web服务。3] Web服务不提供安全性,并发控制等。

现在在wcf上。您可以使用wcf模板创建wcf服务,其他类是类库Project ..如果使用类库,则可以通过几种方式托管它,例如Self Hosting,在IIS上托管,即.svc文件,但是如果使用WCF模板,其中包含您提到的.SVC文件,您只能在IIS上托管该项目/服务。

WCF服务可以是自托管的,也可以在不实际使用Visual Studio项目模板的情况下创建。 您需要做的就是适当地分配属性的接口,该类在实例化ServiceHost项目中实现该接口和代码。 大多数人会将服务配置放在app.config文件中,但有些人更喜欢用代码配置服务。

WCF项目模板仅包含一些内容,因此您可以轻松地在ISS或Windows激活服务(WAS)中托管该服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM