2011-01-04 4 views
1

私のWCFサービスを設計する際に問題があります。基本的に私はXML文書を受け取るサービスが必要です。 xmlは、xsd.exeから生成されたクラスにマップされます。私はもともとこれを持っていた:WCFでdatacontractが必要なのはいつですか?シンプルなタイプを使用する方が良いでしょうか?

public void AddDocument(string xmlString) 

私は生成されたクラスにxmlを逆シリアル化します。

public void AddDocument(MyGeneratedClass document) 

私はWCFではなく場合は新たなんだ:私はちょうどこのようなパラメータとしてドキュメントクラスを使用する場合、WCFは、私のためにシリアライズを行いますので、私は余分な作業をしていますので、これは悪い考えであると言われました私はMyGeneratedClassのためのdatacontractを作成しなければならないと思ったこの方法でそれをする。生成されるクラスは20,000 +ラインですので、これは永遠にかかるでしょう。

DataContractが必要ですか?とにかく私は何かが欠けていると思うので、これが理にかなっていると思います。誰かが正しい方向に向けることができれば、私はそれを高く評価します。ありがとう!

答えて

2

メソッドに1つまたは2つのパラメータが必要な場合は単純な型を使用し、単純な型の値は1つだけ返します。一般的なルールとして

  • あなたがよりわずか数(5未満)単純型に渡す必要がある場合 - Requestオブジェクトのいくつかの種類を使用し、それ以外の場合はお電話で扱いにくくなります。

  • 単一の単純型値を2つ以上返す必要がある場合は、Responseオブジェクトを使用して値をまとめます。

私は、送信側と受信側のXMLを回避し、それを解析しようとする - 前後に本物も構造化(データ)を送信しようとするオブジェクト - とし、タイプセーフとすべてに対処する方がはるかに簡単!

関連する問題