2012-03-26 59 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