2012-03-01 22 views
1

私は、WCF Rest Service Templateで構築されたRESTサービスを持っています。WCF RESTサービスに2つのサービスクラスを使用するにはどうすればよいですか?

私のプロジェクトでクラスにサービスを提供し、Global.AsaxのRegisterRoutes()で登録する必要があるのではないかと不思議です。

は、私はこれを試みたが、唯一のサービス1が解決されます:

private void RegisterRoutes() 
{     
    RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(), typeof(Service1))); 
    RouteTable.Routes.Add(new ServiceRoute("Service2", new WebServiceHostFactory(), typeof(Service2))); 
} 

はこれが可能であるか、私のすべてのサービスメソッドが一つのクラスに常駐する必要がありますか?

答えて

1

確かにこれが可能ですが、上記のシナリオでは、/ Service2への呼び出しが実際にService1の操作であるように見えるため、最初のServiceRouteは2番目のサービス(Service2)への呼び出しをキャッチします。

RouteTable.Routes.Add(new ServiceRoute("Service1", new WebServiceHostFactory(), typeof(Service1))); 
RouteTable.Routes.Add(new ServiceRoute("Service2", new WebServiceHostFactory(), typeof(Service2))); 

が動作するはずです...

代わりに、

RouteTable.Routes.Add(new ServiceRoute("Service2", new WebServiceHostFactory(), typeof(Service2))); 
RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(), typeof(Service1))); 

はあまりにも動作するはずです...しかし、それは曖昧さの点では、このような良いアイデアのように見えるしていません。

+0

解決策がかなり早く見つかったので、私はこれを尋ねるのに5分待つべきでした。しかしここで解決策を文書化することは良いことです。 – BentOnCoding

関連する問題