我很难过。当我在调试模式下运行我的解决方案时,整个网站都可以工作。它提供了主页和一切。我可以添加,删除和更新数据到我的数据库。该网站使用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();
}
}
答案 0 :(得分:0)
我是一名经验丰富的网络程序员,我应该知道......(在Windows平台上使用.net和SQL服务器的新手)。
问题不在于代码,但代码阻止我看到真正的错误。我的尝试......抓住了一条我没想到的消息。
当我在调试模式下在笔记本电脑上运行代码时,我很难通过代码工作的事实。
解决方案在我的服务器上存储和编译,但是,我使用笔记本电脑修改代码。
当我在调试中启动它时,我发现它仍在服务器上运行。但最后我不是。我在笔记本电脑上使用SQL Express安装。
我在服务器上安装了SQL Express 2012(当我重新加载服务器时没有这样做),将该实例命名为我需要的网站。该网站现在正在与数据库进行通信。我还有其他问题需要解决,但我应该能够解决这些问题。我的javascript和css没有被提入。如果我无法使用它,我会发布一个新问题。
感谢您的帮助。