У меня есть сервис, представленный как WCF через NServiceBus. В конечном счете, я хотел бы позвонить на эту услугу из Silverlight. Мой сервисный интерфейс WCF выглядит так:
[ServiceContract]
public interface ISettingsService
{
[OperationContract(Action = "http://tempuri.org/IWcfServiceOf_RequestSettingsMessage_SettingsResponseMessage/Process", ReplyAction = "http://tempuri.org/IWcfServiceOf_RequestSettingsMessage_SettingsResponseMessage/ProcessResponse") ]
SettingsResponseMessage FetchSettings(RequestSettingsMessage request);
}
Моя служба NSF WCF определяется как:
public class CoreService : WcfService<RequestSettingsMessage, SettingsResponseMessage>
{
}
Когда я вызываю метод FetchSettings для службы, я получаю исключение:
System.TypeInitializationException: инициализатор типа для NServiceBus.WcfSer
Vice`2 'бросил исключение. ----> System.InvalidOperationException: Centerlink.Services.Core.Msg.Settings.SettingsResponseMessage должно быть перечислением, представляющим коды ошибок, возвращаемые сервером.
Похоже, класс WcfService <> ограничивает тип возвращаемого значения метода WCF перечислением. Как я могу заставить мой сервис вернуть что-то кроме перечисления? Нужно ли создавать собственную реализацию NServiceBus.WcfService <>?