【问题标题】:WCF with EntityFrameworkWCF 与 EntityFramework
【发布时间】:2012-03-26 16:52:34
【问题描述】:

我正在编写我的第一个 WCF 服务。我有一些使用实体框架的操作——抓取一些数据并返回 JSON 字符串。

我可以使用 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");

【问题讨论】:

  • 注意缩小范围 - 即更具体

标签: wcf entity-framework


【解决方案1】:

一般来说,问题可能是您必须在控制台应用程序的 app.config 中添加正确的连接字符串。从您的服务配置中获取连接字符串的副本并将其添加到您的控制台的 app.config 中。

另一方面,我注意到您的服务被标记为 [DataContract] 而应该是 [ServiceContract]。也许这是错字,您已经在界面级别这样做了

如果您真的将此服务视为 DataContract,那么我建议您对其进行审查,因为它不应该是这样。

【讨论】:

  • 感谢您回复 mosessaur。我确实删除了 DataContract 装饰 - 我确实将我的界面作为服务合同。我确实将我的 wcf 库项目 app.config 中的实体模型连接字符串添加到我的控制台应用程序的 app.config 中,并且它有效。我正在尝试为在此平台上工作的移动开发人员模拟调用它:developer.appcelerator.com/question/128524/…
猜你喜欢
  • 2010-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-10
  • 2020-01-27
相关资源
最近更新 更多