WCF FaultContract и где разместить класс ошибок (создание нескольких служб, использующих один FaultContract) - PullRequest
1 голос
/ 16 марта 2009

Я довольно новичок в WCF и создал несколько сервисов, поэтому у меня есть некоторый опыт работы с WCF. Я хочу создать несколько сервисов, которые могут использовать один FaultContract. Я заметил, что тип Fault должен находиться в одном проекте, чтобы использовать атрибуты [DataContract] и member. Это правда или я могу что-то сделать, чтобы добавить контракты? Вот что я хотел бы сделать:

NameSpace Service1 {

 [ServiceContract()]
 iService1Interface1{
      [OperationContract()]
      [FaultContract(typeOf(ServiceFault.Fault)]
      DoTheWork1();
 }

}

NameSpace Service2 {

 [ServiceContract()]
 iService1Interface2{
      [OperationContract()]
      [FaultContract(typeOf(ServiceFaults.Fault)]
      DoTheWork2();
 }

}

NameSpace ServiceFaults { [DataContract] публичный класс Fault { public Fault (сообщение) { // построить сообщение
}

        [DataMember]
        public Message{}
   }

}

Имеет ли это смысл? Спасибо

Daniel

Ответы [ 2 ]

1 голос
/ 16 марта 2009

Я думал, что в моем проекте упоминается System.Runtime.Serialization, но его там не было Так глупо!

0 голосов
/ 16 марта 2009

Я не верю, что это должно быть в том же проекте. Проекты - это вещи Visual Studio, а не .NET.

Что происходит, когда вы используете отдельные проекты? Вы указываете тип, включая пространство имен? Вы ссылаетесь на сборку, содержащую договоры о неисправностях?

...