3

現在、オブジェクトをJsonにシリアル化してクライアントに返し、MSAjaxコードで使用する.asmxWebサービスメソッドを使用しています。オブジェクトの一部のメンバーでは、JavaScriptConverterから派生し、Serializeメソッドをオーバーライドするクラスを介してカスタムコンバーターを使用します。これらのカスタムコンバーターは、次の要素を介してweb.configに「接続」されます。

<system.web.extensions>
  <scripting>
    <webServices>
      <jsonSerialization maxJsonLength="2000000">
        <converters>
          <add name="ElementReference" type="OurNamespace.OurJavascriptConverter">

現在、WCFWebサービスに切り替えています。同等のWCFが見つかりません。

助けてくれてありがとう。

4

3 に答える 3

3

1 つのアプローチは、Carlos Figueria によって記述されたWCF の生のプログラミング モデルをJSON.NETと組み合わせて使用​​することです。

JSON.NET は、WCF JSON シリアライザーよりもはるかに柔軟で構成可能であることがわかりました。

于 2009-05-03T16:13:27.090 に答える
2

これはあなたが探しているものかもしれませんhttp://blogs.msdn.com/carlosfigueira/archive/2008/04/17/wcf-raw-programming-model-web.aspx

RESTについて説明していますが、WCFをそのように使用しているかどうかはわかりません。役に立つかもしれませんが、チェックしてください。

于 2009-04-30T15:08:13.730 に答える
0

デフォルトでは、WCF はDataContractSerializerbasic-http モードとNetDataContractSerializer一部のバイナリ tcp モードで使用します。タイプ/プロパティごとにコンバーターを実際に挿入することはできませんが、コントラクトに「動作」を追加することでシリアライザーを置き換えることができます(両端で)。可能ではありますが、これはあまり移植性が高くないため、「mex」が物事を正しく理解できるように、通常のレイアウトに固執することをお勧めします。

このような動作の例については、こちらを参照してください。

私の知る限り、(カスタムシリアライゼーションの)最も可能性の高い代替手段は、IXmlSerializableすべてを自分で実装して実行することです-面白くありません。

于 2009-05-01T13:19:05.590 に答える