我有一个在本地测试服务器上运行良好的测试代码,它需要 40 秒才能在发布服务器上做出反应。
这是代码,它是简单的寻呼机,但 ViewState 是一个包含大约 50,000 个项目的列表。
这只是我用来设置照片类型的一个时间页面,但我不明白的是,本地(较慢)服务器上的平均照片负载低于 1 秒,而生产服务器上的平均照片负载为 40 秒???
我对代码进行了各种修改,但我并不认为这是代码(不管在 ViewState 中放置 50,000 个项目的想法多么愚蠢)。其他会减慢代码执行速度的服务限制可能是什么?
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Photo.aspx.cs" Inherits="Admin.Web.Test.WebForm1" EnableViewState="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server" ID="sc">
</asp:ScriptManager>
<asp:UpdatePanel runat="server" ID="up" UpdateMode=Conditional ViewStateMode=Enabled>
<ContentTemplate>
<table>
<tr>
<td>
<asp:LinkButton runat="server" ID="lnkPrevious" Width=100 Height=600 OnClick="lnkPrevious_Click" Font-Size=48 Text="<"></asp:LinkButton>
</td>
<td valign="top">
<asp:Panel runat="server" Width="800" Height="500" ScrollBars="Both">
<asp:Image runat="server" ID="imgPic" />
</asp:Panel>
</td>
<td>
<asp:LinkButton runat="server" ID="lnkNext" Width=100 Height=600 OnClick="lnkNext_Click" Font-Size=48 Text=">"></asp:LinkButton>
</td>
<td valign="top">
<asp:DataList runat="server" ID="dli" RepeatColumns="4" RepeatDirection="Horizontal"
OnLoad="dli_Load">
<ItemTemplate>
<table style="width: 75px; height: 75px; border: 1px solid #cccccc; margin-right: 2px;
margin-bottom: 2px;">
<tr>
<td align="center">
<asp:LinkButton runat="server" ID="lnkSelect" OnCommand="lnkSelect_Click" Width="75"
Height="75" Text='<%# Eval("pictype") %>' CommandArgument='<%# Eval("PicTypeID") %>'></asp:LinkButton>
</td>
</tr>
</table>
</ItemTemplate>
<FooterTemplate>
<asp:LinkButton runat="server" ID="lnkReportProblem" Style="border: 1px solid #cccccc;
margin-right: 2px; margin-bottom: 2px;" Width="200" Height="100" Text="Prijavi problem za ovu sliku"></asp:LinkButton>
</FooterTemplate>
</asp:DataList>
</td>
</tr>
<tr>
<td colspan="4">
<asp:Label runat="server" ID="labPicID" Font-Size="16"></asp:Label>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>