2011-10-04 4 views
4

私はWCFを介して実行ADO.NETデータサービスがあります。私が追加した場合、私は、次の契約ADO.NET Data ServiceとカスタムServiceContractを同じクラスに結合しますか?

[ServiceContract] 
    public interface IAdminService { 
     [OperationContract] 
     void RequestAccess(int applicationID, string username); 
    } 

として、それにいくつかのカスタムメソッドを追加したい

public class AdminService : DataService<BOPApplicationAccessEntities> {   
    public static void InitializeService(DataServiceConfiguration config) { 
      config.UseVerboseErrors = true; 
      config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2; 
      config.SetEntitySetAccessRule("*", EntitySetRights.All); 
     } 
} 

AdminService implements multiple servicecontract types, and no endpoints are defined in the configuration file. 

サービスCONTRを追加することはできません:クライアントが言って、接続しようとしたときに装飾やデータサービスのメソッドを実装するには、エラーがスローされますADO.NETのデータサービスサービス上で動作しますか?

答えて

1

エラーは、サービスが複数の契約(インターフェイス)を公開していることを示しています。これは、新しいものを追加したばかりのためです。ホストは、どのエンドポイントでホストするサービスインタフェースを知らないため、暗黙のデフォルト値に基づいて動作することはできません。

サービスが実装する契約ごとに、サービス構成ファイルに明示的なエンドポイントが定義されていることを確認してください。それ以降は、あなたのクライアントアプリケーションでサービス参照を更新する必要があるかもしれません。

更新:明示的に特定のエラーメッセージの問題をトラブルシューティングするためにhttp://www.west-wind.com/weblog/posts/2008/Apr/10/WCF-REST-Configuration-for-ASPNET-AJAX-and-plain-REST-ServicesであなたのWCFデータサービスのエンドポイントを作成する方法について説明しますどのHow to disable authentication schemes for WCF Data Servicesを結合します。

+0

これは、ADO.netのデータサービスの難しい部分です。設定ファイルには、エンドポイントを示すものは何もありません。これを無効にすることはできますか? – Josh

+0

実践的な提案をするために私の答えを更新しました。 – kroonwijk

関連する問題