2011-08-17 74 views
0

當我們在asp中使用WCF時,我們使用[ServiceContract][OperationContract]。這意味着什麼。我在谷歌搜索這個,但無法理解.plz幫助清除我對此的看法。謝謝。這段代碼在wcf中的含義

回答

2

這些屬性有助於框架將相應的類/操作(方法)作爲Web上的服務公開。

基本上WCF給你一個靈活性來說明你想在Web上公開哪些類/方法等作爲服務,哪些不是。因此這些屬性在這裏派上用場。

如果你在做Nunit測試用例的時候,你會爲測試用例編寫[TextFixture],因爲Nunit會以這種方式識別它們。

+0

謝謝你給我清晰的視覺關於'WCF' –

+0

你的歡迎隊友! – Zenwalker

+0

'你是'/語法納茲:P –

0

我似乎總是有這個問題。微軟會告訴你這麼做,以及如何去做。但是做這件事的理由仍然是一個謎,沒有人會告訴你。我想這只是假設你知道。這些「屬性」僅僅是一個沒有實際行動的標籤。編譯器只是找到標籤並理解標籤下面的方法是一個「ServiceContract」,並從那裏做它自己的事情相關的具體方法。

1

在WCF中,所有服務都暴露合同。合同是一種描述服務功能的平臺中立和標準方式。

ServiceContract - 該屬性用於定義接口。

OperationContract - 該屬性用於定義Interface中的方法。

[ServiceContract(CallbackContract = typeof(TestServiceCallback))] 
    public interface TestService 
    { 
     [OperationContract(IsOneWay = false)] 
     byte[] TestMethod(string testParam); 
} 

這裏是參考網站:

http://www.pluralsight-training.net/microsoft/courses/tableofcontents?courseName=wcf-fundamentals

1

WCF合同規定了什麼操作的服務支持。一個操作可以被認爲是一種Web服務方法。服務合同定義了一組操作。 你可以看到更多關於wcf聯繫方式here