2013-11-04 48 views
0

我提供了soap端點和REST端點(json/xml)。我有用WebGet和WebInvoke屬性裝飾的方法。我知道我可以通過WebOperationContext.Current獲取Web上下文。WCF上下文 - 如何從客戶端代理調用引用肥皂數據

但是對於肥皂調用,我會使用常規的ASP.NET HttpContext嗎?如果是的話,我將如何維持這兩種情況?比方說,我有一個方法,用WebInvoke進行REST風格的調用,soap調用也映射到了這個嗎?

例如

可以說,這兩種方法都躺在我的 「Car.svc」

可以說我有這對我是酒店裝飾與WeInvoke REST端點:

public Car Create() 
... 

然後我有這個我假設如果我做了一個clientproxy調用來創建並傳遞它的一個實例的汽車,會碰到這個方法(肥皂):

public Car Create(Car carToCreate) 

因此讓我們在這種情況下,我在那裏通過WSDL使clientProxy瓦爾,說一旦達到這個方法我認爲我可以通過HttpContext對象在請求體(肥皂)獲得,而不是WebOperationContext爲REST電話?

回答

0

WCF服務模型爲SOAP調用提供了一個OperationContext。掛斷的是您可以訪問的RequestContext,InstanceContext和SecurityContext。爲了獲得SOAP調用的消息正文,你可以做這樣的事情。

var msg = OperationContext.Current.RequestContext.RequestMessage; 

從那裏,您可以通過GetBody方法訪問主體。