2009-08-18 9 views
7

W WCF gruntów, możesz określić prefiks obszaru nazw dla wszystkiego, co ma [DataContract] tak:W WCF istnieje sposób na ustawienie całego obszaru nazw ServiceContract?

[DataContract(Namespace="MyApp")] public class whatever... 

Jeśli jednak chciał zastosować wspólną przestrzeń nazw dla wszystkich kontraktów danych montaż całego, można użyć Ten wielki, działa bez zarzutu. Teraz nad na boku ServiceContract mogę zrobić taką samą konfigurację obszaru nazw w interfejsie usługi:

[ServiceContract(Namespace="MyApp")] public interface whateverService... 

Ale jest coś porównywalne [montaż: ContractNamespace], który może być używany do ustawiania przestrzeni nazw dla wszystkich [ServiceContract] s? Naprawdę chciałbym uniknąć konieczności ręcznego ustawiania dla wielu usług, a miło jest mieć go w jednym miejscu dla umów danych. Ponieważ istnieje atrybut obszaru nazw poziomu dla kontraktów danych, mam nadzieję, że jest jeden dla umów o świadczenie usług również ...

Odpowiedz

5

Nie, nie możesz - musisz być bardzo jednoznaczny w WCF i musisz jawnie ustaw rzeczy takie jak przestrzenie nazw na każdym ServiceContract. Prawdopodobnie zrobiłbym to nawet na każdym DataContract - tylko po to, aby mieć jasność co do tego, co robię.

Ale to dobrze! Bycie otwartym również sprawia, że ​​twoje intencje są jasne - zaufaj mi, w złożonym systemie, który pomaga!

Marc

Powiązane problemy