我正在编写我的第一个WCF服务。我有一些使用Entity Framework的操作 - 抓取一些数据并返回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");
答案 0 :(得分:1)
一般来说,问题可能是您必须在控制台应用程序的app.config中添加正确的连接字符串。从服务配置中获取连接字符串的副本,并将其添加到控制台的app.config中。
另一方面,我注意到您的服务被标记为[DataContract],而应该是[ServiceContract]。也许这是错误的,你已经在你的界面上做了那个
如果您真的将此服务视为DataContract,那么我建议您查看它,因为它不是应该如何。