5

私のコントローラーでは:

public class ProfileController : ApiController
{
    public HttpResponseMessage PostCreateProfile (HubBasicProfile bp)
    {

        HttpResponseMessage result = null;    
        if (bp == null)
        {
            result = Request.CreateResponse(HttpStatusCode.InternalServerError, "Could not instantiate Profile with JSON provided.");
        }


...

bpオブジェクトをインスタンス化するためのjsonの自動逆シリアル化は、バックグラウンドで行われます。

発生している問題を解決するためにコントローラーが受け取るjsonを確認したいと思います。このとき、bpは常にnullです。(そして、私が見たいと言うとき、私はそれを調べて、デシリアライザーがどこで問題を抱えているかを見たいと思います。)

送信されているjsonを確認しましたが、問題ないようです。

だから、誰かがこのjson-> bpオブジェクトプロセスをデバッグする方法を教えてもらえますか?

4

2 に答える 2

6

トレースを有効にして、シリアライザーがhttp://www.hanselman.com/blog/WhenInDoubtTurnOnTracing.aspxという警告をログに記録しているかどうかを確認します。

具体的には、トレースについてはこちらをご覧ください:

あなた自身の非常に基本的なものを実装するためにここを見て失敗しました。

JsonLintを使用して JSON をテスト実行します。

また、モデルがJson2C#などを使用して正しく定義されていることを確認してください。

また、ブレークポイントを追加ModelStateし、コントローラーのプロパティを確認してください。これには、バインディング エラーと警告が含まれている可能性があります。

于 2013-01-02T17:01:04.410 に答える
0

デバッガーで表示したい場合は、リクエストのフォーム コレクションで使用できる必要があります。

于 2013-01-02T16:49:48.260 に答える