none
WCF使用時のコレクションの扱い RRS feed

  • 質問

  • WCFとして既存のWebサービスを使用しようとしているのですが、

    メソッドの引数に配列がある場合に、

    Webサービス参照で生成したプロキシでは

     string[]

    となるものが、サービス参照で生成したプロキシでは

     ArrayOfString (List<string>のサブクラス。メソッド等の実装なし)

    となります。

     

    これは、以下に書かれているとおりなのですが、

    http://msdn.microsoft.com/ja-jp/library/aa347850.aspx

     

    標準のList<string>やstring[]があるのに、

    わざわざArrayOfStringという独自クラスをアプリ開発上使用したくない、覚えたくない

    と思っています。

     

    ですが、WCFを利用する際には、この例であればArrayOfStringをDACより上位レイヤでも

    使用することが標準で、推奨されることなのでしょうか?

     

    DACでArrayOfString⇔List<string>やstring[]と変換するという手段もありますが、

    処理数が多くなれば、それなりのオーバーヘッドにもなる可能性もありますので、

    変換すべきか、変換しないでArrayOfStringやArrayOfAnyTypeなどを使うべきか

    迷っています。

     

    推奨はどちらか、推奨をとらない場合の判断基準は何かなどをお持ちの方が

    いらっしゃいましたらご教示いただけないでしょうか。

     

    裏には、WCFを使いたいけれど、.NET Framework 3.0以上を本番環境に入れられるかどうか不確定のまま、

    開発を始めていると事情があり、

    string[]であれば、WCFで開発していても、環境が許さなければWebサービス参照にあとで変えることもできる、

    という思惑があります。

    2008年11月6日 11:42