我有現在一個WCF託管服務,這是自託管和定義如下:我的WCF服務期望請求數據的外觀如何?
[OperationContract]
[WebInvoke(RequestFormat = WebMessageFormat.Json, Method = "PUT", UriTemplate = "/device")]
void updateDeviceLevel(ZDevice device);
的ZDevice類看起來是這樣的:
public class ZDevice {
public bool? newPowerState { get; set; }
public int nodeId {get; set;}
}
我有一個簡單的Mac客戶端它通過使用http post來使用該服務。它張貼{"newLevel":27,"nodeId":6}
到\devices
url和.NET神奇地將這些值填充到ZDevice對象中。一切都很好。
但是,現在我需要爲混合添加一些基本的安全性。我已通過添加新的參數和一些「RequestWrapping」的方法調用做到了這一點:
[OperationContract]
[WebInvoke(RequestFormat = WebMessageFormat.Json, BodyStyle=WebMessageBodyStyle.WrappedRequest, Method = "PUT", UriTemplate = "/device")]
void updateDeviceLevel(string password, ZDevice device);
我試圖現在要做的是找出語法服務器從客戶的消費預期。我希望在{"password":"somepwd", "newLevel":27,"nodeId":6}
的帖子能夠發揮作用,但.NET不再像以前那樣將其「反序列化」到ZDevice對象中。
有人對我有一些建議嗎?
感謝
DOH!我以爲我曾嘗試過,但我做了「zdevice」而不是「設備」。謝謝! – bugfixr
另外感謝 - 我在創建我的問題時混淆了一些代碼。無需花時間查看,即可快速爲我發佈信息。 – bugfixr