簡體   English   中英

用於WCF服務的自定義序列化轉換器

[英]custom serialization converters for a WCF service

我們當前正在使用.asmx Web服務方法,該方法將我們的對象序列化為Json以返回給客戶端並由MS Ajax代碼使用。 對於對象的某些成員,我們通過從JavaScriptConverter派生的類使用自定義轉換器並覆蓋Serialize方法。 我們通過以下元素在web.config中“連接”這些自定義轉換器:

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

我們現在正在轉換到WCF Web服務。 我無法找到WCF等效項。

謝謝你的幫助。

一種方法是使用Carlos Figueria描述的WCF原始編程模型JSON.NET結合使用。

我發現JSON.NET比WCF JSON序列化器更加靈活和可配置。

這可能是你正在尋找的http://blogs.msdn.com/carlosfigueira/archive/2008/04/17/wcf-raw-programming-model-web.aspx

雖然它討論REST,但不確定你是否以這種方式使用WCF。 可能會有用,請查看。

默認情況下,WCF在basic-http模式下使用DataContractSerializer ,在某些二進制tcp模式下使用NetDataContractSerializer 您無法為每個類型/屬性注入轉換器,但您可以通過向合同添加“行為”(兩端)來替換序列化程序。 雖然可能,但這不是很便攜,建議您堅持使用常規布局,以便“mex”能夠正確理解事物。

請參閱此處以獲取此類行為的示例。

AFAIK,最可能的替代方案(用於自定義序列化)將實現IXmlSerializable並自己做所有事情 - 不好玩。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM