1

やあ、

WCFのデータ/サービスコントラクトのデフォルトの名前空間はです"http://tempuri.org/"ServiceContract.Namespaceを設定することによりServiceBehavior.Namespace、カスタム名前空間を取得できます。しかし、私はこれについていくつか質問があります:

  1. 名前空間を使用する必要がありhttp://ますか、それとも同じCLS名前空間に名前を付けることができますか?
  2. MyApp.IOですべてのデータコントラクトを設定してCLS名前空間を使用する必要がある場合、すべてを手動で設定せずにこれを行う簡単な方法はありますか?
  3. CLS名前空間をサービス全体とそのデータコントラクトのコントラクト名前空間として設定する簡単な方法はありますか?
4

1 に答える 1

3

質問1.名前空間は何でもかまいません。人々は通常、何らかの形式のURIを使用しますが、実際のWebページを指す必要はありません。多くの場合、名前空間でバージョン識別子を使用しますが、何をすべきかについての規則はありません。

質問2。上記を参照してください。

質問3.次のようにすべてのコントラクトの名前空間を設定できます。

// This overrides the standard namespace mapping for all contracts 
// in Contoso.CRM. 
[assembly: ContractNamespace("http://schemas.example.com/crm",
   ClrNamespace = "Contoso.CRM")]
namespace Contoso.CRM
{
    // The namespace is overridden to become: 
    // http://schemas.example.com/crm.
    // But the name is the default "Customer".
    [DataContract]
    public class Customer
    {
        // Code not shown.
    }
}

詳細については、このMSDNの記事を確認してください。

于 2012-07-10T14:57:50.650 に答える