dev中的objectContext错误,但不会发布时



给定下面的类,在调用home/index时,在Visual Studio中启动网站给我以下错误(这实际上是内部异常)。

A transport-level error has occurred when receiving results from the server. (provider: Shared Memory Provider, error: 0 - The handle is invalid.)

at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()
at System.Data.SqlClient.TdsParserStateObject.ReadBuffer()
at System.Data.SqlClient.TdsParserStateObject.ReadByte()
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)

但是,如果我在本地发布完全相同的代码并使用webmatrix到达网站,则可以正常运行。

如果有所作为,我也使用SQL Server 2008 Express。请告知是否需要更多信息。

控制器

public class HomeController : BaseController
{
    public ActionResult Index()
    {
        var candidates = BusinessObj.AllOf<Candidate>().ToList();
        return View(candidates);
    }
}

basecontroller

public class BaseController : Controller
{
    protected ITestBusinessObject BusinessObj { get; set; }
    public BaseController()
    {
        BusinessObj = new Business.TestBusinessObj();
    }
}

testBusinessObj(实体是EF EDMX类)

public class TestBusiness : ITestBusinessObject
{
    private Entities DB = new Entities();
    private string ContainerName = "Entities";
    public IEnumerable<T> AllOf<T>() where T : class, new()
    {
        return DB.CreateObjectSet<T>(ContainerName.GetEntitySetName<T>());
    }
    private static string GetEntitySetName<T>(this string containerName) where T : new()
    {
        var name = new T().GetType().Name;
        if (name.EndsWith("y"))
        {
            name = name.Substring(0, name.Length - 1) + "ies";
        }
        else
        {
            name = name + "s";
        }
        return string.Format("{0}.{1}", containerName, name);
    }
}

这是一个评论开始的,因为它更像是一个建议,而不是解决方案,但是根据响应,个人经验,在本地或其他季度左右的情况下,互联网搜索,重新启动的结果似乎经常解决此问题。

接收服务器结果时发生了传输级别的错误

http://www.garrypassarella.co.uk/2011/05/05/12/a-transport-level-level-erlor-has-eror-has-occurred-when-receiving-when receiving-results-results-from-the-the-the-server-the-server-the-server-the-server-server-server-server-server-server-shared-shared-Memory-provider-error-0-the-handle-is-invalid/

http://www.soulsolutions.com.au/blog/tabid/73/entryid/666/a-transport-level-level-ervel-error-has-eror-has-occurred.aspx

共识以内存管的共同性质为中心,并陷入导致错误的其他背景过程(ES),直到进行系统重新启动为止。

最新更新