我有一个 wcf 应用程序,我在其中使用了实体框架并实现了 dbContext 来查询数据库。当我在浏览器中查看 svc 文件时,它会公开操作。
我有这样的接口类:
[ServiceContract]
public interface IService1
{
[OperationContract]
List<BooksModels> GetBooksList();
[OperationContract]
BooksModels GetBook(int id);
}
我在 svc.cs 文件中有这样的实现
public List<BooksModels> GetBooksList()
{
MVCEntity en = new MVCEntity();
return en.book.ToList();
}
public int GetBookId(int id)
{
//return db.book.Find(id);
return 1;
}
BooksModels 类是这样的
[DataContract]
public class BooksModels
{
[Key]
[DataMember]
public int BookId { get; set; }
[DataMember]
public string BookName{get;set;}
}
并将配置文件设置为创建 wcf 服务应用程序时创建的默认文件。
但是当我从 MVC wcf 客户端调用 GetBooksList 服务时,它给了我以下错误:
调用服务失败。可能原因:服务离线或无法访问;客户端配置与代理不匹配;现有代理无效。有关更多详细信息,请参阅堆栈跟踪。您可以尝试通过启动新代理、恢复到默认配置或刷新服务来恢复。
但是当我调用返回 1 的第二种方法时。
我检查了当服务使用 dbContext 返回数据时它会给出错误并且在没有时很好。
我浏览了各种博客以及stackoverflow中的问题,但没有帮助。那么如何解决这个问题。谢谢