2

タイトルのように、どのような場合にsvcutil.exeはXmlSerializerFormatAttribute生成されたプロキシコードに適用することを決定しますか?それに関するドキュメントが見つからないので、いくつかのソースをリンクしていただければ幸いです。

4

2 に答える 2

3

WebサービスのスキーマがDataContractSerializerと互換性がない場合は常に、XmlSerializerが選択されます(XmlSerializerFormatAttributeが適用されます)。ユーザー「Aphelion」が回答で指摘したように、これが発生する可能性がある1つのケースは、一部のレガシーASMXWebサービスを使用している場合です。ただし、非.NETサービス(Javaベースなど)と相互運用する場合にも、これがよく見られます。ここでの最も信頼のおけるドキュメントは、実際にはhttp://msdn.microsoft.com/en-us/library/ms733112.aspxであり、スキーマでサポートされているものとサポートされていないものを正確に示しています。

于 2013-01-14T14:16:27.727 に答える
2

XmlSerializerFormat、ASMX(クラシックWebサービス)との下位互換性をサポートするために使用されます。

デフォルトでは、プロキシはを使用しDataContractSerializerます。DataContractSerializerWSDLドキュメントのスキーマ要素が処理できないXSDスキーマ機能を使用している場合、それはを選択しXmlSerializerます。


いくつかの詳細な例については、MicheleLerouxBustamanteによる「 LearningWCF」をお勧めします。

于 2013-01-14T11:43:15.290 に答える