非常にスタックしています.netコアの世界ですが、.net3.5に戻って苦労しています。asmx webserviceのJson Serialization設定を.net3.5に設定しました
は私が前に働いていないASMXのWebサービスを持って、それが
マイウェブメソッド
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483647" />
</webServices>
</scripting>
はそう
[ScriptMethod(ResponseFormat = ResponseFormat.Json, XmlSerializeString = false)]
[WebMethod]
public SyncDownResponse SyncDown(string syncDownReq)
{
return Wrap<SyncDownSummaryRequest, SyncDownSummaryResponse>(_service.SyncDownSummary, syncDownSummaryRequestObject);
}
のようなものでweb.configファイルに設定されたjsonserialisationを使用しています
これは、Webサービスの設定でjsonによってシリアライズされたSyncDownResponseオブジェクトを返します。これはすべて正常に動作します。
私がしたいのは、データをシリアル化するときにnull値を無視することです。私はこの
public bool ShouldSerializeCompanyParameters()
{
return CompanyParameters.HasValue;
}
そして
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
JSONプロパティの属性を追加することを試してみましたが、コードがヒットされていません。私がJsonConvert.SerializeObjectを呼び出すと、必然的にshould serialiseメソッドが呼び出されます。
とにかく、ヌル値を無視するようにシリアル化設定を設定する方法が必要ですが、私は苦労しています。私はGlobal.asaxファイルでGlobalConfigurationを設定する記事を見つけましたが、GlobalConfigurationには参照がありません。私はSystem.Webの参照をすべて追加しましたが、何も追加しませんでした。私はそれがネット3.5に存在しないかもしれないと思う。すべてのヘルプは素晴らしいことだ、私は
おかげ