1

我有一个通过 NServiceBus 公开为 WCF 的服务。最后,我想从 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);
}

我的 NSB WCF 服务定义为:

public class CoreService : WcfService<RequestSettingsMessage, SettingsResponseMessage>
{
}

当我在服务上调用 FetchSettings 方法时,我得到一个异常:

System.TypeInitializationException:“NServiceBus.WcfService 2”的类型初始化程序引发了异常。----> System.InvalidOperationException: Centerlink.Services.Core.Msg.Settings.SettingsResponseMessage 必须是表示服务器返回的错误代码的枚举。

似乎 WcfService<> 类将 WCF 方法的返回类型限制为枚举。我怎样才能让我的服务返回枚举以外的东西?我是否需要创建 NServiceBus.WcfService<> 的自定义实现?

4

1 回答 1

1

您需要为该场景创建自己的 wcf 服务。

更多细节在这里:

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

于 2010-04-02T18:50:09.060 回答