私は、RESTベースのWCFサービスを作成してjsonデータを送受信しています。私はほとんどのものを動作させることができますが、この最後の部分は本当に私を困らせました。REST、json、.Net4、および複合データ型
サービスに複雑なデータ型を送信しています。データを送信していますが、クラスがインスタンス化されていないかのようです。 (別のクラスファイル内)
クラスの宣言:
public class WhereItsAt
{
public float Latitude { get; set; }
public float Longitude { get; set; }
public string Category { get; set; }
public string SearchTerms { get; set; }
public float Distance { get; set; }
}
[WebInvoke(Method = "POST", UriTemplate = "/New", RequestFormat = WebMessageFormat.Json)]
public string Create(WhereItsAt newstuff)
{
return string.Format("Success: {0} <Should show search terms here>", newstuff.SearchTerms);
}
問題は、私は私のクラスを変更する場合newstuff.SearchTerms(newstuffのOK、全て)がnullまたは0
であるということです。
public class WhereItsAt
{
public float Latitude { get; set; }
public float Longitude { get; set; }
public string Category { get; set; }
public string SearchTerms { get{return "hello"}; set; }
public float Distance { get; set; }
}
データを返します。
私はバイオリンと呼んでいる:
POST http://127.0.0.1:8835/testing/New
HTTP/1.1 のUser-Agent:フィドラー ホスト:127.0.0.1:8835 のContent-Length:122 のContent-Type:アプリケーション/ JSONを。 charset = UTF-8
[{ "緯度":43.34、 "経度":45.234、 "カテゴリ": "未設定"、 "のSearchTerms": "ダウンタウン"、 "距離":12.234}]
私のクラスがインスタンス化されていないかのように見えます。私はセット内にいくつかのダミーコードを作成しました
{set {int i = 1;};
しかし、セットにブレークポイントを作成しても、それは決して呼び出されません。
私は間違っていますか?あなたがのDataContractとデータメンバーがあなたのデータモデルに属性を追加する必要が
を参照してください。まだまったく同じことをしています。 – Carl
私のフィドラーテストデータで問題になっています。私は[]を囲むセットを持っていた。私がそれを見た場所は不明で、Fiddlerのパーサーは不平を言っていませんでした。 – Carl