调试

时间:2015-11-22 23:07:59

标签: c# asp.net .net asp.net-mvc asp.net-mvc-4

我很难过。当我在调试模式下运行我的解决方案时,整个网站都可以工作。它提供了主页和一切。我可以添加,删除和更新数据到我的数据库。该网站使用MVC构建,使用SQLExpress(内置)。

问题是当我尝试通过localhost或外部世界访问该站点时。该网站去年工作,然后我不得不重新安装Windows。我从Windows 7升级到Windows 8.1。

我缺少某种身份验证。有人能指出我吗?

权限设置 IIS_USRS和IUSR都有修改,读取和放大执行,列出文件夹内容,读取和写入

我的物理路径凭据设置为"应用程序用户(传递身份验证)。

应用程序池正在使用DefaultAppPool .NET CLR版本v4.030319 托管管道模式=集成

我之前在使用Windows 7时遇到过这个问题,我以为我将DefaultAppPool流程模型标识更改为LocalService,或者其他选项之一。他们现在都没有工作。甚至尝试使用自定义帐户。

我能提供更多信息吗?

  

' /'中的服务器错误应用

     

没有类型' IEnumerable'的ViewData项目。那   有钥匙' YearID'。

     

描述:执行期间发生了未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:System.InvalidOperationException:没有   ViewData项类型为' IEnumerable'有钥匙   ' YearID'

     

来源错误:

     

第53行:第54行:年:第55行:<%=   Html.DropDownList(" YearID",ViewData [" years"] as SelectList)%>线   56:
第57行:联盟:

     

源文件:   E:\ FantasyFootball \ FantasyFootball \ mvcFantasyFootball \ FantasyFootball \视图\主页\的Index.aspx

    FFBallEntities _db = new FFBallEntities();
    public ActionResult Navigation()
    {
        return View();
    }

    public ActionResult Index(int? id, int? leagueid, int? teamid)
    {
        try
        {
            bool ImMobile = DisplayModeProvider.MobileDisplayModeId.ToString() == "Mobile";

            if (!ImMobile)
            {
                ViewData["Message"] = "Welcome To Fantasy Football Fantasy Edition!";
            }
            List<FanYear> years = _db.FanYearSet.OrderByDescending(m => m.FantasyYear).ToList();

            List<League> leagues = _db.LeagueSet.ToList();

            if (leagueid == null) leagueid = leagues[0].LeagueID;

            if (id == null)
            {
                id = _db.TeamSet.OrderByDescending(m => m.FanYear.YearID).Select(m => m.FanYear.YearID).First();
            }
            ViewData["years"] = new SelectList(years, "YearID", "FantasyYear", id);
            ViewData["leagues"] = new SelectList(leagues, "LeagueID", "League_Name", leagueid);
            ViewData["selectedyear"] = id.ToString();
            ViewData["selectedleague"] = leagueid.ToString();
            ViewData["selectedteam"] = "0";
            if (teamid != null)
                ViewData["selectedteam"] = teamid.ToString();


            int scoringid = _db.LeagueHistorySet.Include("FanYear").Include("Leagues").Include("Scoring").First(m => m.FanYear.YearID == id && m.Leagues.LeagueID == leagueid).Scoring.ScoringID;
            ViewData["selectedscore"] = scoringid.ToString();
            return View(_db.TeamScoreSet.Where(m => m.LeagueID == leagueid && m.YearID == id && (m.ScoringID == scoringid || m.ScoringID == 0)).OrderByDescending(m => m.PointsEarned).ToList());
        }
        catch
        {
            return View();
        }
    }

1 个答案:

答案 0 :(得分:0)

我是一名经验丰富的网络程序员,我应该知道......(在Windows平台上使用.net和SQL服务器的新手)。

问题不在于代码,但代码阻止我看到真正的错误。我的尝试......抓住了一条我没想到的消息。

当我在调试模式下在笔记本电脑上运行代码时,我很难通过代码工作的事实。

解决方案在我的服务器上存储和编译,但是,我使用笔记本电脑修改代码。

当我在调试中启动它时,我发现它仍在服务器上运行。但最后我不是。我在笔记本电脑上使用SQL Express安装。

我在服务器上安装了SQL Express 2012(当我重新加载服务器时没有这样做),将该实例命名为我需要的网站。该网站现在正在与数据库进行通信。我还有其他问题需要解决,但我应该能够解决这些问题。我的javascript和css没有被提入。如果我无法使用它,我会发布一个新问题。

感谢您的帮助。