2

Webサービスで「http://tempuri.org/」のデフォルト参照を変更する理由は次のとおりです。

1:名前空間を理解していることを示しています。

2:プロ意識を示すため。

技術面でメリットがない場合は、

なぜ先に進んで変更する必要があるのでしょうか。これにより、いくつかのエラーが表示される可能性があります。

4

2 に答える 2

3

Webサービスについてはあまり説明していませんが、通常、名前空間はXSDと組み合わせた場合にのみ役立ちます。XSDを使用している場合、名前空間は、Cスタイルの言語(C#、Java、C ++)で役立つのと同じ理由で、「クラス」を他のプログラムと区別するために役立ちます。

Webサービスのコンシューマーが別のWebサービスとのマッシュアップを構築しようとしていて、そのプログラマーがサービスのXMLを別のサービスのXMLと組み合わせる必要がある場合、それらの名前空間は非常に重要になり始めます(特に、他のWebサービスが名前空間をデフォルトから変更しないことを選択しました)。

または、より簡潔に:

XMLインスタンスには、複数のXMLボキャブラリの要素名または属性名を含めることができます。各語彙に名前空間が与えられている場合、同じ名前の要素または属性間のあいまいさを解決できます。
http://en.wikipedia.org/wiki/XML_namespace

個人的なメモとして、XML名前空間の命名は、自分のコードを群衆から区別する機会だと思います。時間と注意を払ってコードに適切な名前を付けると、他の専門家は、時間と注意を払って適切にコーディングしたという印象を与えることができます。このように考えてください。という名前の関数を持つAPIがある場合fUnctiontodoSomeThin()、その機能に満足しているかもしれませんが、プログラマーがキャピタライゼーションを正しく/一貫して綴り、使用するために時間と労力を費やさなかった理由を疑問に思う人もいます。 。おそらく、彼/彼はデータベース呼び出しをtry / catchブロックでラップするのに時間をかけなかったのでしょうか?それは私が別のAPIを探しに行く原因になるかもしれません(もちろん、他のすべては同じです)。

于 2012-10-18T18:01:49.390 に答える
2

名前空間は、サービスコントラクトまたはデータコントラクトがリリース間で重大な変更を行ったことをクライアントアプリケーションに通知する方法として使用します(つまり、リターンタイプが変更された、パラメーターの順序が変更されたなど)。それ以外の場合、クライアントアプリケーションは、古いコントラクトにあるかのように戻り値の解析を続行します。解析は複雑で理解しにくいエラーメッセージで失敗します。さらに悪いことに、解析はスワップされた値で成功する可能性があります(つまり、データコントラクトの2つの文字列プロパティの順序を変更します)。

WCFサービスのバージョン管理の詳細。

于 2012-10-18T22:08:55.003 に答える