0

以前にEFデータサービスを作成しましたが、EF5-WCFサービスアプリケーションを作成しようとするたびにこのメッセージが表示されます。

操作'ProcessRequestForMessage'は、System.ServiceModel.Channels.Message型のパラメーターまたは戻り型、またはMessageContractAttributeとさまざまな型の他のパラメーターを持つ型を持っているため、ロードできませんでした。System.ServiceModel.Channels.MessageまたはMessageContractAttributeでタイプを使用する場合、メソッドは他のタイプのパラメーターを使用してはなりません。

  1. WCFサービスアプリケーションを作成します。
  2. 参照を追加するSystem.Data.Services
  3. EFモデルを生成する
  4. コード生成戦略を「デフォルト」に変更し、「。tt」を削除しました
  5. DataService <DBEntities>をサービスクラス(Service1)に継承します
  6. 必要な「InitilizeService」ルーチンを追加します
  7. web.configに変更はありません

デバッグしようとすると、メッセージが表示されます。VS2012を使用しています

Data Servicesを使用してからしばらく前ですが、動作する古いVS2010プロジェクトを見て、「System.Data.Services.IRequestHandler」をコントラクトとして持つエンドポイントを持つサービスを含めるようにweb.configを変更しました。

また、バインディングを「webHttpBinding」に変更するだけでなく、もう一度試してみましたが、どちらも機能していないようです。何か案は?

他のすべてが失敗した場合、少なくともそれを機能させることができるので、組み込みのサービス生成ツールでOpenAccessORMを使用できると思います。

よろしくお願いします

クリスリーチ

4

3 に答える 3

3

追加:Factory = "System.Data.Services.DataServiceHostFactory、Microsoft.Data.Services、Version = 5.0.0.0、Culture = neutral、PublicKeyToken =31bf3856ad364e35"

于 2012-11-16T01:29:22.823 に答える
1

同じエラーが発生しましたが、サービスホストマークアップファイルに「Factory」属性がないことに気付きました。したがって、データサービスファイルをクリックして[マークアップの表示]を選択し、ファクトリ属性があるかどうかを確認してください。これが正しいことです。

前:

<%@ ServiceHost Language="C#" Debug="true" 
    Service="ServiceNamespace.ServiceClassName"    
    CodeBehind="ServiceClassName.svc.cs" %>

後:

<%@ ServiceHost Language="C#" Debug="true" 
    Service="ServiceNamespace.ServiceClassName"
    Factory="System.ServiceModel.Activation.WebServiceHostFactory, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"      
    CodeBehind="ServiceClassName.svc.cs" %>
于 2015-05-21T09:58:11.367 に答える
0

これを直接理解していませんでしたが、このWebサイトhttp://code.msdn.microsoft.com/windowsdesktop/WCF-Data-50-for-OData-v3-53074189からデモプロジェクトをダウンロードし、データサービスを変更してからVoalaを変更しました。これ以上のエラーはありません

これが他の人に役立つことを願っています

みんなを試してみてください。

于 2012-10-16T14:14:10.383 に答える