webhttpbinding 端点中的合同是什么?
what is the contract in webhttpbinding endpoint?
创建 WCF RESTful 服务时,部分配置包括创建服务端点。像下面的东西
<service name="MyService" behaviorConfiguration="serviceBehavior">
<endpoint address="" binding="webHttpBinding" bindingConfiguration="UsernameWithTransport" contract="IMyService" behaviorConfiguration="web"></endpoint>
</service>
我的问题是,contract
的具体用途是什么?它是否向尝试访问它的浏览器提供某种信息?
在 WCF 中,契约 (ContractDescription) 是一个操作集合,指定端点与外界通信的内容。每个操作都是一次消息交换。例如,请求消息和关联的回复消息形成 request/reply 消息交换。
ContractDescription 对象用于描述 WCF 合同及其操作。在 ContractDescription 中,每个合约操作都有一个相应的 OperationDescription,它描述了作为合约一部分的每个操作的各个方面,例如操作是 one-way 还是 request/reply。每个 OperationDescription 还使用 MessageDescriptionCollection 描述构成操作的消息。 ContractDescription 包含对使用编程模型定义合同的接口的引用。该接口标有ServiceContractAttribute,其对应端点操作的方法标有OperationContractAttribute。
合同也很重要,因为您可以在单个 WCF 服务中公开不同的服务合同。
创建 WCF RESTful 服务时,部分配置包括创建服务端点。像下面的东西
<service name="MyService" behaviorConfiguration="serviceBehavior">
<endpoint address="" binding="webHttpBinding" bindingConfiguration="UsernameWithTransport" contract="IMyService" behaviorConfiguration="web"></endpoint>
</service>
我的问题是,contract
的具体用途是什么?它是否向尝试访问它的浏览器提供某种信息?
在 WCF 中,契约 (ContractDescription) 是一个操作集合,指定端点与外界通信的内容。每个操作都是一次消息交换。例如,请求消息和关联的回复消息形成 request/reply 消息交换。
ContractDescription 对象用于描述 WCF 合同及其操作。在 ContractDescription 中,每个合约操作都有一个相应的 OperationDescription,它描述了作为合约一部分的每个操作的各个方面,例如操作是 one-way 还是 request/reply。每个 OperationDescription 还使用 MessageDescriptionCollection 描述构成操作的消息。 ContractDescription 包含对使用编程模型定义合同的接口的引用。该接口标有ServiceContractAttribute,其对应端点操作的方法标有OperationContractAttribute。
合同也很重要,因为您可以在单个 WCF 服务中公开不同的服务合同。