【发布时间】:2018-03-08 20:39:48
【问题描述】:
我看到很多人都在为同样的问题而苦苦挣扎,但似乎没有人将我引向正确的方向 - 也许我没有正确理解,或者我的情况有点不同 - 我创建了一个运行完美的 MVC 应用程序在我的本地,但一旦部署,我在控制台中收到以下错误:
加载资源失败:服务器响应状态为 404 (未找到):glyphicons-halflings-regular.woff2
加载资源失败:服务器响应状态为 404 (未找到):/api/notifications
加载资源失败:服务器响应状态为 500 (内部服务器错误) : BudgetingTool/Account/UserDetails?searchTerm=Peter+Pan&_=1506510511716
最后一个是最重要的,因为它用于返回数据。其代码如下:
public ActionResult UserDetails(string searchTerm = null)
{
var data = UserManager.Users.FirstOrDefault(r => (r.FirstName + " " + r.LastName) == searchTerm);
IEnumerable<SelectListItem> rolesList = null;
IEnumerable<SelectListItem> organisationList = null;
Organisation organisation = null;
Department department = null;
if (data != null)
{
var userOrganisations = _organisationRepo.GetUserAssignedOrganisation(data.Id);
organisation = _repository.FindOrganisationById(data.OrganisationId);
department = _departmentRepo.FindDepartmentById(organisation.DepartmentId);
rolesList = ShowAllowedRoles(data.Id);
organisationList =
_repository.GetOrganisationsInHierarchyOrder(0,0,0).Select(r => new SelectListItem
{
Selected = userOrganisations.Any(x => x.OrganisationId == r.OrganisationId) ? true : false,
Text = r.Name,
Value = r.OrganisationId.ToString()
});
//SelectedOrganisations = OrganisationList.Where(x => x.Selected == true).ToList().Select(r=> new List<string>{ r.Value});
}
else
{
organisationList = _repository.GetOrganisationsInHierarchyOrder(0, 0, 0).GroupBy(m => m.Name).Select(y => y.First()).Select(r => new SelectListItem
{
Selected = false,
Text = r.Name,
Value = r.OrganisationId.ToString()
});
rolesList = GetRolesList();
}
var model = new UpdateUserInfoVM
{
Id = data == null ? string.Empty : data.Id,
FirstName = data == null ? string.Empty : data.FirstName,
LastName = data == null ? string.Empty : data.LastName,
Email = data == null ? string.Empty : data.Email,
Allowbudgetdeletion = data?.Allowbudgetdeletion ?? false,
LockoutEnabled = data?.LockoutEnabled ?? false,
//OrganisationId = data == null ? string.Empty : data.OrganisationId,
OrganisationId = data?.OrganisationId ?? 0,
Organisations = organisationList,
Roles = rolesList,
AccessFailedCount = data?.AccessFailedCount ?? 0,
LockoutEndDateUtc = data?.LockoutEndDateUtc,
AllowEditing = data.AllowEditing,
DistrictOrUrban = data?.DistrictOrUrban,
departmentId = organisation.DepartmentId,
DepartmentType = department.Name
//SelectedOrganisations = SelectedOrganisations
};
return PartialView("_ShowUserInfo", model);
//return Request.IsAjaxRequest() ? PartialView("_ShowUserInfo", model) : PartialView("_ShowUserInfo", model);
}
当我点击控制台中的错误链接时,这是显示的(好像没有值通过???
“/BudgetingTool”应用程序中的服务器错误。
对象引用未设置为对象的实例。
描述:执行过程中发生了未处理的异常 当前的网络请求。请查看堆栈跟踪以获取更多信息 有关错误的信息以及它在代码中的来源。
异常详细信息:System.NullReferenceException:没有对象引用 设置为对象的实例。
我只是不明白它是如何在我的本地上完美运行的,但在发布然后部署到远程服务器时却不行。
该文件夹是一个虚拟目录,包含项目文件的文件夹与“Everyone”和“IIS_IUSR”共享 - 两者都具有读/写权限。
人们可以寻找的最普遍的东西是什么?我确定它很简单,但就是不知道它是什么:(
任何对正确方向的帮助都会有很大帮助。
谢谢!
【问题讨论】:
-
至少对于“woff2”文件,这肯定是 IIS 配置中缺少/错误的 mime 类型的问题:stackoverflow.com/a/28955302/265165
-
您的 NullReferenceException 是另一个问题的根源。可能某些查询没有返回预期的数据,这可能是与数据库的连接错误、缺少权限、迁移失败等。我们无法猜测出什么问题。启用异常日志记录以在日志中查找错误
-
感谢您的回复 - 我尝试将其添加到我的 web.config 中,但没有任何区别 :( 浏览器上是否有异常日志记录?如何启用此功能以及在哪里可以找到日志?
-
服务器上出现异常。登录 ASP.NET 是一个单独的主题,我不能在这里提供任何详细信息(这里和那里,建议使用名为 ELMAH 的工具来轻松获取更多详细信息,但是是的,只需 google 即可)。
-
谢谢!所以我觉得有点愚蠢......第3点的问题实际上是因为数据问题。我将数据库从服务器上拉下来,并在我的本地开发中使用它,并发现我使用的不正确(这是因为以前应该删除的现有数据)。至于其他两点,我还是有点难过。但是,感谢您尝试提供帮助。 (难怪找到的其他链接都不起作用:-/)
标签: jquery asp.net-mvc iis-7