MVC+EF项目的网站,发布出来后,出现下面的错误,求大神指教!!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MVC+EF项目的网站,发布出来后,出现下面的错误,求大神指教!!!相关的知识,希望对你有一定的参考价值。

参考技术A IIS目录正确。追问

什么意思?

追答

IIS目录不正确。

追问

那应该怎么解决

Asp.net mvc 项目发布后给我内部服务器错误

【中文标题】Asp.net mvc 项目发布后给我内部服务器错误【英文标题】:Asp.net mvc project give me internal server error after publisihng 【发布时间】:2015-11-16 16:34:34 【问题描述】:

发布 asp.net mvc 项目后,我注意到在调试模式下调用链接 http://localhost:56881/CPanel/login?role=form 时的 localhost 它正常返回登录视图。

但在发布后尝试调用http://domainname.com/CPanel/login?role=form 它给了我 500 - 内部服务器错误。

//Login Action >> CPanel Controller 
public ActionResult login() 

    return View();


[HttpPost]
public ActionResult login(FormCollection customer, string ReturnUrl) 

    ViewBag.isError = false;
    if (Session["SystemAdmin"] == null)
    
        var u = new Egx.EgxBusiness.Inventory.User()  USER_NAME = customer["EMAIL_ADDR"] .Search();
        Crypto.VerifyHashedPassword(u[0].PASSWORD, customer["password"]);
        if (u.Count > 0 && Crypto.VerifyHashedPassword(u[0].PASSWORD, customer["password"]))
        
            var c = new Customers()  EMAIL_ADDR = customer["EMAIL_ADDR"] .Search();
            FormsAuthentication.SetAuthCookie(c[0].CUST_NAME, false);
            Session["_customer"] = c[0];
            if (Url.IsLocalUrl(ReturnUrl) && ReturnUrl.Length > 1 && ReturnUrl.StartsWith("/")
                && !ReturnUrl.StartsWith("//") && !ReturnUrl.StartsWith("/\\"))  return Redirect(ReturnUrl); 
            else
            
                return RedirectToAction("Index");
            
        
        else
        
            ViewBag.isError = true;
            return View();
        
    
    else 
    
        var c = new Customers()  EMAIL_ADDR = customer["EMAIL_ADDR"] .Search();
        if (c.Count == 0)  c = new Customers() CUST_CODE=customer["EMAIL_ADDR"] .Search(); 
        if (c.Count > 0)
        
            Session["_customer"] = c[0];
                 return RedirectToAction("Index");
         
        else
        
            ViewBag.isError = true;
            return View();
        
    

登录查看

@using (Html.BeginForm("login", "CPanel", new  ReturnUrl = Request.QueryString["ReturnUrl"], role = "form" ))

     if (Request.QueryString["r"] != null)  <input type="hidden" value="@Request.QueryString["r"]" name="r"/> 
        <div class="form-group">
            <input  class="form-control" placeholder="E-mail" name="EMAIL_ADDR" type="text" autofocus>
        </div>
        <div class="form-group">
            <input class="form-control" placeholder="Password" name="password" type="password" value="" @Html.Raw(EgxNMWeb.AuthSystemAdmin.isSystemAdmin()? "disabled":string.Empty)>
        </div>
        <div class="checkbox">
            <label>
                <input name="remember" type="checkbox" value="Remember Me">Remember Me
            </label>
        </div>
        <!-- Change this to a button or input when using this as a form -->
        <input type="submit" value="Login" class="btn btn-lg btn-success btn-block" />
        @Html.Raw(EgxNMWeb.AuthSystemAdmin.isSystemAdmin()? "<a href="+Url.Action("Index","Finance")+">ماليات</a>":string.Empty)

【问题讨论】:

其他页面是否正常工作? 是的,一切都很好 【参考方案1】:

尝试做一个干净的解决方案并重新构建并发布它。此外,将自定义错误模式设置为关闭。如果您能给我们一个具体的错误,我们可能会为您提供更多帮助。还要确保本地计算机上的身份验证模式与您发布的服务器上的身份验证模式相匹配。

【讨论】:

我试图清理解决方案重建但没有任何改变:( 我注意到 ReturnUrl 在远程服务器上不起作用,但在 localhost 中可以正常工作! 您是否更改了 Web 配置文件中的自定义错误模式?那应该给你一个更具体的错误。试试看,让我知道具体的错误是什么。 另外,我猜测其他页面是否正常工作,只有登录视图不工作,这可能是您的视图文件没有正确发布,或者您的远程服务器上的身份验证模式设置不正确。身份验证模式是指 Windows、匿名等 我将自定义错误模式更改为开,但它给了我同样的错误 500 - 内部服务器错误。您要查找的资源有问题,无法显示。

以上是关于MVC+EF项目的网站,发布出来后,出现下面的错误,求大神指教!!!的主要内容,如果未能解决你的问题,请参考以下文章

使用 EF CodeF 和 mvc nugget Scaffold 发布后向 DB 添加列

mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理

实体框架探查器 - 带有 EF 6 的 ASP.NET MVC4 - 无法确定提供程序名称

ASP.NET MVC Core/6:EF 6 脚手架错误

Entity Framwork(EF) 7——在现在数据库的甚而上开发MVC 新项目

mvc EF的仓储模式 怎么在类中使用