底层连接已关闭:接收时发生意外错误。使用WCF时

时间:2013-07-24 15:03:39

标签: wcf asp.net-mvc-4 ef-code-first entity-framework-5

我使用mvc4作为我的Web应用程序继承了WCF服务我有一个Entity框架并且首先使用Code for database现在,Entity层继承到MVC和WCF,但Data Access层只继承到WCF,现在当我从我的控制器调用WCF方法时,该方法被很好地调用,并且该方法在WCF中正常工作并返回预期结果但是当它将结果返回给MVC应用程序时,它抛出了一个异常“底层连接是已关闭:接收时发生意外错误。“任何人都可以帮助我,以下是代码: -

用于Controller类

  public ActionResult CustomerSearch()
    {

        APIServiceDaman.Customer ObjTestEn = new APIServiceDaman.Customer();
        using (Objjj = new APIServiceDaman.Service1())
        {

          var  ObjTestEn2 = Objjj.GetUserDetails(1, true);
        }


        return View(ObjTestEn);
    }
WCF的

: -

 public X.Entities.Customer GetUserDetails(int CustomerID)
    {
        X.Entities.Customer objtest = new X.Entities.Customer();
        using (ObjCustomerEvidence = new CustomerManager()) 
        {
            objtest = ObjCustomerEvidence.GetCustomerByID(CustomerID);
        }
        return objtest;


    }

for DataAccess Layer: -

 public Entities.Customer GetCustomerByID(int ID)
    {
        return DBContext.Customer.Where(c => c.ID == ID).FirstOrDefault();
    }

1 个答案:

答案 0 :(得分:0)

首先检查WCF和MVC4客户端上 executionTimeout maxRequestLength 的web.config设置。有关这方面的更多信息,请参阅以下链接jlchereau给出了一个很好的答案,按照这一步骤再次尝试检查它,它可能会帮助你。还尝试启用WCF跟踪(Tracing)并找出异常的根源,它将帮助您解决问题。

http://velodocaddin.codeplex.com/discussions/40792