C# 站点在VisualStudio中工作,但不在服务器上
该站点在VisualStudio中工作,但在服务器上中断。获取错误:“System.NullReferenceException:对象引用未设置为对象的实例。” 我已经重新发布了这个项目,但它仍然出错。我已经从服务器上取下了文件,它仍然可以在我的机器上工作,但不能在服务器上工作。会发生什么C# 站点在VisualStudio中工作,但不在服务器上,c#,asp.net-mvc,visual-studio,model,C#,Asp.net Mvc,Visual Studio,Model,该站点在VisualStudio中工作,但在服务器上中断。获取错误:“System.NullReferenceException:对象引用未设置为对象的实例。” 我已经重新发布了这个项目,但它仍然出错。我已经从服务器上取下了文件,它仍然可以在我的机器上工作,但不能在服务器上工作。会发生什么 <div class="main"> <h2 class="queue_title">Queue</h2> @if (Model.Count > 0) { <
<div class="main">
<h2 class="queue_title">Queue</h2>
@if (Model.Count > 0)
{
<table class="inputTableLeft">
<tr><th>Company</th><th>Category</th><th>Assigned Resource</th></tr>
<tr>
<td>
<select id="CompanySelect">
<option value="0">All</option>
@foreach (var company in Model.GroupBy(r => r.Company))
{
<option value="@company.First().Company">@company.First().Company</option>
}
</select>
</td>
<td>
<select id="CategorySelect">
<option value="0">All</option>
@foreach (var category in Model.GroupBy(r => r.Category))
{
<option value="@category.Key.Id">@category.Key.Name</option>
}
</select>
</td>
<td>
<select id="AssignedResource">
<option value="0">All</option>
@foreach (var resource in Model.GroupBy(r => r.AssignedUserName))
<!--Breaking here:-->{
<option value="@resource.First().AssignedADUser.FullName">@resource.First().AssignedADUser.FullName</option>
}
</select>
</td>
</tr>
</table>
<table class="inputTableRight">
<tr>
<th>Incident/Ticket Number</th><th>RCA Number</th>
</tr>
<tr>
<td>
<input type="text" id="IncidentNumFilter" />
</td>
<td>
<input type="text" id="RCANumFilter" />
</td>
</tr>
</table>
<table id="QueueTable">
<tr>
@foreach (var grp in Model.GroupBy(r => r.StatusId))
{
<th>
@grp.First().Status.Name
</th>
}
</tr>
<tr>
@foreach (var grp in Model.GroupBy(r => r.StatusId))
{
<td data-status="@grp.First().StatusId">
@foreach (RCAModel rca in grp.OrderBy(r => r.CreateTime).OrderByDescending(r => r.Critical))
{
<div data-rca="@rca.Id" data-company="@rca.Company" data-assigned="@rca.AssignedADUser.FullName" data-category="@rca.Category.Id" data-incident="@rca.TicketNumber" class="line @(rca.Critical ? "highlight_red" : "")">
<a href="@Url.Action("EditRCA", new { id = rca.Id })" >
@rca.Id : Created - @rca.CreateTime @(rca.Critical ? Html.Label("expression", " - CRITICAL") : Html.Label("", ""))
</a>
</div>
}
</td>
}
</tr>
</table>
}
else
{
@: No RCAs in queue
}
</div>
队列
@如果(Model.Count>0)
{
公司类别已签名资源
全部的
@foreach(Model.GroupBy中的var公司(r=>r.company))
{
@公司第一公司
}
全部的
@foreach(Model.GroupBy中的var类别(r=>r.category))
{
@category.Key.Name
}
全部的
@foreach(Model.GroupBy(r=>r.AssignedUserName)中的var资源)
{
@resource.First().AssignedADUser.FullName
}
事件/票号RRCA号
@foreach(Model.GroupBy中的var grp(r=>r.StatusId))
{
@grp.First().Status.Name
}
@foreach(Model.GroupBy中的var grp(r=>r.StatusId))
{
@foreach(grp.OrderBy(r=>r.CreateTime.OrderByDescending(r=>r.Critical))中的rca模型rca)
{
}
}
}
其他的
{
@:队列中没有RCA
}
您可能从该链中的某个位置获得空值:
@resource.First().AssignedADUser.FullName
在此代码周围添加一些日志记录和一些空检查,以确定什么是空的
例如:
var firstRes = resource.First();
if (firstRes != null)
{
var user = firstRes.AssignedADUser
if (user != null)
{
// Do your normal work.
}
else
{
// Log a message here
}
}
else
{
// Log a message here
}
这里需要更多信息。您需要输入一些日志或类似的内容来找出错误的原因或发生在哪里。谢谢John。这让我更接近解决方案。我在指定的点以及下一个开始出错的位置应用了一些条件。它不再坏了。现在我只需要找出定义不正确的地方。我一解决它就会更新。再次感谢。