0

我提供了soap端点和REST端点(json/xml)。我有用 WebGet 和 WebInvoke 属性修饰的方法。我知道我可以通过 WebOperationContext.Current 获取 Web 上下文。

但是对于肥皂电话,我会使用常规的 ASP.NETHttpContext吗?如果是这样,我将如何维持这两种情况?假设我有一个装饰有WebInvokeRESTful 调用的方法,调用是否也soap映射到这个?

例子

假设这两种方法都在我的“Car.svc”中

假设我的 REST 端点有这个,装饰有WeInvoke

public Car Create()
...

然后我有了这个,我假设如果我调用 clientproxy 来创建并传递给它一个汽车实例,会点击这个方法(soap):

public Car Create(Car carToCreate)

所以让我们说在这种情况下,我通过wsdl创建clientProxy vall,一旦它达到这个方法,我假设我可以通过HttpContext对象而不是WebOperationContext来获取请求主体(soap)来进行REST调用?

4

1 回答 1

0

WCF 服务模型为 SOAP 调用提供了OperationContext。悬而未决的是您可以访问的 RequestContext、InstanceContext 和 SecurityContext。要获取 SOAP 调用的消息正文,您需要执行类似的操作。

var msg = OperationContext.Current.RequestContext.RequestMessage;

从那里,您可以通过 GetBody 方法访问正文。

于 2013-11-04T19:30:40.100 回答