안녕하세요 모두 저는 asp.net에서 C#으로 작성된 첫 번째 MVC 3 웹 사이트에서 작업하고 있습니다. 데이터베이스를 표시하는 테이블을 확장하거나 축소하는 데 45 초 이상 걸리므로 웹 사이트 속도에 문제가 있습니다.MVC asp.net 웹 사이트의 속도를 높이려면 어떻게해야합니까?
는 나는 내가 캐시를 사용하지만이 관리자가 필요로 할 때 데이터가 최신이 아닐 것이라는 점을 걱정하는 방법을 알아 내기 위해 노력 해왔다
내 jQuery를 가지고 reportTemplate 내 코드를 포함했다 날짜 데이터까지
@{
ViewBag.Title = "ReportTemplate";
}
<script language="javascript" type="text/javascript">
$(document).ready(function() {
toggle = function (className) {
$('.' + className).toggle('fast');
}
});
</script>
<h2>ReportTemplate</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
INVESTMENT AREA
</th>
<th>
MAJOR PROGRAM
</th>
<th>
MANAGER
</th>
<th>
PROJECT
</th>
<th>
SPA
</th>
<th>
PA
</th>
</tr>
@{
string investment_area = "";
string major_program = "";
string manager = "";
string project = "";
string spa = "";
string pa = "";
string iaClass = "";
string mpClass = "";
string manClass = "";
string pjClass = "";
string spaClass = "";
string paClass = "";
}
@foreach (var item in Model)
{
iaClass = item.investment_area.Substring(0, 2);
mpClass = item.major_program;
manClass = item.manager;
pjClass = item.project;
spaClass = item.spa;
paClass = item.pa;
if (investment_area != item.investment_area)
{
<tr>
<td class = "ndeTable ui-widget-header pointer border" onclick="toggle('@iaClass')" colspan="6">
@item.investment_area
</td>
</tr>
}
investment_area = item.investment_area;
if (major_program != item.major_program)
{
<tr class="@iaClass">
<td style = "width :200px"></td>
<td class = "ndeTable pointer border" onclick="toggle('@mpClass')" colspan="5">
@item.major_program
</td>
</tr>
}
major_program = item.major_program;
if (manager != item.manager)
{
<tr class = "@iaClass @mpClass">
<td></td>
<td style = "width : 100px"></td>
<td class = "ndeTable pointer border" onclick="toggle('@manClass')" colspan="4">
@item.manager
</td>
</tr>
}
manager = item.manager;
if (project != item.project)
{
<tr class = "@iaClass @mpClass @manClass">
<td></td>
<td></td>
<td style = "width : 200px"></td>
<td class = "ndeTable pointer border" onclick = "toggle('@pjClass')" colspan="3">
@item.project
</td>
</tr>
}
project = item.project;
if (spa != item.spa)
{
<tr class = "@iaClass @mpClass @manClass @pjClass">
<td></td>
<td></td>
<td></td>
<td style = "width : 325px"></td>
<td class = "ndeTable pointer border" onclick = "toggle('@spaClass')" colspan = "2">
@item.spa
</td>
</tr>
}
spa = item.spa;
<tr class = "@iaClass @mpClass @manClass @pjClass @spaClass">
<td></td>
<td></td>
<td></td>
<td></td>
<td style = "width: 200px"></td>
<td class = "ndeTable pointer border" onclick = "toggle('@paClass')" colspan = "1">
@item.pa
</td>
</tr>
pa = item.pa;
}
</table>
내가 그 동안의 코드를 최적화하기 위해 노력을 계속하기 위하여려고하고 있지만 사람이 어떤 조언이나 트릭이 있다면 나는이 지난 몇 저를 괴롭 된 나는 매우 감사 할 것입니다 사용할 수 있습니다 작은 데이터베이스의 경우 일 및 45 초는 어리 석다. 시간 내 주셔서 감사합니다. 건배, James
"확장/계약"이란 무엇입니까? MVC 코드는 JQuery UI 작업이 아닌 페이지로드 속도에만 영향을줍니다. – Lazarus
투자 지역 셀을 클릭하면 해당 투자 지역의 아이들이 주요 프로그램 관리자 스파 등을 보여 주거나 숨기도록 확장하거나 계약해야한다고 가정합니다.이 질문이 모호하면 미안합니다. 여전히 올바른 질문을하고 신속한 답변을 부탁드립니다. – Goldentp
누구나 jQuery가 호출하는 토글 함수가 될 수 있다고 생각합니까? 왜냐하면 그것이 모든 것을 정말로 늦추는 사이트의 일부이기 때문입니다. 지금과 같이 극도로 천천히 가지 않고도 투자 지역 아동을 확대 또는 축소시킬 수있는 또 다른 방법이 있습니까? – Goldentp