Как я могу вернуть что-то кроме перечисления от конечной точки NServiceBus, представленной как служба WCF? - PullRequest
1 голос
/ 02 апреля 2010

У меня есть сервис, представленный как 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 <>?

1 Ответ

1 голос
/ 02 апреля 2010

Вам нужно создать свой собственный сервис wcf для этого сценария.

Подробнее здесь:

http://tech.groups.yahoo.com/group/nservicebus/message/6295

...