WCF服务的REST/SOAP端点
您可以在两个不同的端点中公开服务。SOAP可以使用支持SOAP的绑定,例如basicHttpBinding,RESTful可以使用webHttpBinding。我假设您的REST服务是JSON格式的,在这种情况下,您需要使用以下行为配置配置这两个端点
场景中的端点配置示例如下
所以,服务将在
公共接口ITestService
{
[运营合同]
[网络获取]
字符串HelloWorld(字符串文本)
}
注意,如果REST服务不在JSON中,则操作的参数不能包含复杂类型。
对于作为返回格式的普通旧XML,这是一个既适用于SOAP又适用于XML的示例。
[ServiceContract(Namespace = "http://test")]
public interface ITestService
{
[OperationContract]
[WebGet(UriTemplate = "accounts/{id}")]
Account[] GetAccount(string id);
}
REST的POX行为纯旧XML
端点
服务将在
添加服务引用后,SOAP服务的SOAP请求客户端终结点配置,
contract="ITestService" name="BasicHttpBinding_ITestService" />
在C中#
TestServiceClient client = new TestServiceClient();
client.GetAccount("A123");
另一种方法是公开两个不同的服务契约,每个契约都有特定的配置。这可能会在代码级别生成一些重复项,但是在一天结束时,您需要使其工作。