2012-03-26 12 views
0

私は最初のWCFサービスを作成しています。 Entity Frameworkを使用しているいくつかの操作 - いくつかのデータを取得し、JSON文字列を返す。EntityFrameworkを使用したWCF

私は正常wcfClientを使用して操作を呼び出すことができますが、私は私自身のテストコンソールアプリで操作を起動しようとすると、エンティティモデルのコンストラクタで次のエラーを取得する:

指定された名前の接続はどちらかではありませんコンフィグレーションで見つかった、EntityClientプロバイダでの使用を意図していないか、または有効ではありません。 DataContractのクラスのコード:コンソールアプリで

[DataContract] 
public class DrawSystemService : IDrawSystemService 
{ 
    public string GetDrawEntry(string entryId) 
    { 
     using (MyEntities context = new MyEntities()) 
     { 
      tblDrawEntry drawEntry = null; 
      try 
      { 
       drawEntry = context.tblDrawEntries.FirstOrDefault(e => e.DrawEntryID == new Guid(entryId)); 
      } 
      catch (Exception ex) 
      { 
      } 
      string json = JsonConvert.SerializeObject(drawEntry, Formatting.Indented); 
      return json; 
     } 
    } 
} 

コード:

  WcfDrawSystemLibrary.DrawSystemService drawSystem = new DrawSystemService(); 

     drawSystem.GetDrawEntry("665B534B-73EE-4385-A9BA-02A25CB5FE4D"); 
+0

これを絞り込んでください。具体的には、具体的には – tom

答えて

1

一般的な問題には、GOTのため、あなたのコンソールアプリケーションのあなたのapp.configに適切な接続文字列を追加することである可能性があります。サービス設定から接続文字列のコピーを取り出し、コンソールのapp.configに追加します。

一方、あなたのサービスは[DataContract]とマークされていますが、[ServiceContract]は[ServiceContract]である必要があります。おそらくこれはタイプミスであり、あなたはすでにインターフェイスレベルでこれを行っていたでしょう

このサービスを実際にDataContractとして扱う場合は、これをどのようにするべきか分からないと考えています。

+0

mosessaurに返信いただきありがとうございます。私はDataContractデコレーションを削除しました - 私はサービス契約として私のインターフェイスを持っていました。エンティティモデルの接続文字列を私のwcfライブラリプロジェクトapp.configから私のコンソールアプリケーションのapp.configに追加しました。私はこのプラットフォームで動作するモバイル開発者のためにこれを呼び出すようにシミュレートしようとしています:http://developer.appcelerator.com/question/128524/wcf-service-from-titanium-mobile-app – tom

関連する問題