簡體   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