我使用強類型化XSD生成數據類型作爲參數的方法(操作)設置了新的.NET 4.0 WCF服務。這使得客戶端變得乾淨整潔 - 客戶端可以使用強類型,而不必考慮XML。在WCF服務實現中獲取參數的原始XML
但是,在WCF服務的實現中,我更願意將參數數據作爲XML文檔(LINQ XDocument)處理,而不是反序列化的對象類型。 WCF將反序列化爲顯式類型是很好的,但對於我的泛型算法,處理xml文檔更加方便和靈活,主要是因爲傳入的數據是多態的。
我知道我只需要參數對象並將它們序列化回XML,但這看起來很浪費。
我知道我可以用XElement替換強類型的參數以獲得我想要的實現方便性,但這會失去爲客戶端強打字(編譯器檢查,智能感知,自我文檔)的好處。
有什麼辦法可以告訴WCF,在我的服務實現中,我不需要反序列化參數對象,我希望它們是XML嗎?
或者,有沒有辦法訪問參數的原始XML,因爲它們之前的WCF反序列化它們到對象?如果我不能阻止WCF花費時間反序列化對象,至少可以避免將它們重新序列化回XML的成本。
我仍然認爲是真的值得麻煩,爲什麼不加快serailization和deserilazation。 –
@SurjitSamra我不明白你的評論。你是說WCF不值得這麼麻煩,或者我對訪問原始XML的興趣不值得冒險嗎?除了避免不必要的往返之外,我無法對加快序列化或反序列化做任何事情。 – dthorpe
對不起我在我的評論中不清楚我其實是指訪問原始XML值得一提的麻煩? WCF是值得的每一個麻煩:),我最近遷移超過10年的.NET遠程處理分佈式系統在WCF,有沉重的自定義序列化/反序列化,以加快一切,如果你使用某種注射,例如一個marc_s在他的那麼你會發現一切都需要多長時間,在我的情況下,我很高興反序列化只需要<30毫秒。 –