2012-03-26 58 views
0

我正在寫我的第一個WCF服務。我有幾個使用Entity Framework的操作 - 獲取一些數據並返回JSON字符串。WCF與EntityFramework

我可以調用成功使用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 2012-03-27 14:37:23

回答

1

一般的問題可能是,你到了一個正確的連接字符串添加到您的控制檯應用程序的app.config中。從服務配置中獲取連接字符串的副本,並將其添加到控制檯的app.config中。

另一方面,我注意到你的服務被標記爲[DataContract],而應該是[ServiceContract]。也許這是錯字,你已經在你的界面上做過

如果你真的把這個服務當作DataContract,那麼我會建議回顧一下,因爲它不應該是這樣。

+0

感謝您回覆mosessaur。我沒有刪除DataContract裝飾 - 我確實將我的界面作爲服務合同。我沒有將我的wcf庫項目app.config中的實體模型連接字符串添加到我的控制檯應用程序的app.config中,並且工作正常。我試圖模擬爲在此平臺上工作的移動開發人員調用此功能:http://developer.appcelerator.com/question/128524/wcf-service-from-titanium-mobile-app – tom 2012-03-27 14:30:56