当我们在asp中使用WCF
时,我们会使用[ServiceContract]
和[OperationContract]
。这意味着什么。我在google中搜索此内容但无法理解。有助于清除我对此的看法.Thanks。
答案 0 :(得分:2)
这些属性有助于框架将相应的类/操作(方法)公开为Web上的服务。
基本上,WCF可让您灵活地说明要在Web上作为服务公开哪些类/方法等,哪些不公开。因此,这些属性在这里派上用场。
如果你在做Nunit测试用例时进行了调用,你可以为测试用例编写[TextFixture],因为Nunit会识别它们。
答案 1 :(得分: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
答案 2 :(得分:1)
WCF合同指定服务支持的操作。可以将操作视为Web服务方法。服务合同定义了操作组。 您可以查看有关wcf联系人here
的更多信息答案 3 :(得分:0)
我似乎总是遇到这个问题。微软会告诉你这样做,以及如何做到这一点。但这样做的原因仍然是一个谜,没有人会告诉你。我想这只是假设你知道的。
AFAIK这些“属性”只是一个不执行实际操作的标记。编译器只是找到标记并将标记下方的方法理解为“ServiceContract”,并从那里开始,它与该特定方法有关。