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);
}

私のNSBWCFサービスは次のように定義されています。

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 に答える