如何从作为WCF服务公开的NServiceBus端点返回枚举以外的内容?

时间:2010-04-02 16:20:37

标签: wcf nservicebus

我通过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.WcfSer的类型初始值设定项 副'2'抛出一个例外。 ----&GT; System.InvalidOperationException:Centerlink.Services.Core.Msg.Settings.SettingsResponseMessage必须是表示服务器返回的错误代码的枚举。

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

1 个答案:

答案 0 :(得分:1)

您需要为该方案创建自己的wcf服务。

此处有更多详情:

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