1

私はWebApiとClientを使用してサービスを開発し、POST方式でgzip圧縮されたデータをこのサービスに送信します(帯域幅を節約するため)。それらの両方が私の制御を支配します。サーバーで圧縮データを受け取り、解凍して、次のような文字列を使用します。

section[0][caption]=Foo&
section[0][address]=175896&
section[0][counters][]=2&
section[0][counters][]=2&
section[0][errors][]=ERR_NOT_AVAILABLE&
errors=true&
trmtimestamp=1346931864358

つまり、単純なwww-form-urlencoded文字列です。

ASP.NET MVC4 WebApiには、この文字列をモデルにバインドまたは逆シリアル化するためのメソッドがありますか?

public class Snapshot
{
    public List<SectionState> sections { get; set; }
    public bool errors { get; set; }
    public double date { get; set; }
    public double trmtimestamp { get; set; }
}
4

1 に答える 1

8

次のコードを使用して、文字列を解析できます。

new System.Net.Http.Formatting.FormDataCollection(query).ReadAs<Snapshot>();

ReadAs は、System.Web.Http.ModelBinding.FormDataCollectionExtensions で定義されている拡張メソッドです。

于 2012-09-23T07:58:42.277 に答える