0

WebserviceHost を使用して REST-ful Web サービスを作成しました。ユーザーがGETリクエストを行った場合、JSONオブジェクトをユーザーに返すメソッドがいくつかあります。

[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json, 
    UriTemplate = "appliances/{username}")]
List<object[]> GetAvailableAppliances(string username);

このメソッドは、データベースから値を返します。object-array にはいくつかの dbnull 値がありますが、標準の JSON シリアライザーはそれを処理できません。ユーザーが要求を行うと、接続がリセットされますが、リストに dbnull 値がある場合のみです。

これらの dbnull 値を処理するにはどうすればよいですか? リストをシリアル化する前に値を変更する必要がありますか、それとも別の解決策がありますか?

4

1 に答える 1

1

DBNull個人的には、a (最終的には実装の詳細) がデータ アクセス コードを通過することは決してありません。そうです、私はそれらを元から消毒します。は、通常、データ アクセス コードの外側のnull理想的な代替手段です (ただし、個人的には、存在すらすべきではないと考えています)。すべてを同じように扱っても、明確にはなりません。可能であれば、適切に型付けされたオブジェクトも大いに役立ちます。DBNullDBNull object

于 2012-12-11T16:48:12.483 に答える