📄 comparefilesonline.aspx.cs
字号:
private void NewRow(TableCell sFile, TableCell sSize, TableCell sTime, TableCell cFile, TableCell cSize, TableCell cTime, TableCell centerTc)
{
TableRow row = new TableRow();
row.CssClass = this.m_ItemCssClass ? "compare_tdbg1" : "compare_tdbg";
this.m_ItemCssClass = !this.m_ItemCssClass;
sSize.HorizontalAlign = cSize.HorizontalAlign = HorizontalAlign.Right;
sTime.HorizontalAlign = cTime.HorizontalAlign = centerTc.HorizontalAlign = HorizontalAlign.Center;
centerTc.CssClass = "compare_tdinter";
centerTc.Text = "<b>" + centerTc.Text + "</b>";
row.Cells.Add(sFile);
row.Cells.Add(sSize);
row.Cells.Add(sTime);
row.Cells.Add(centerTc);
row.Cells.Add(cFile);
row.Cells.Add(cSize);
row.Cells.Add(cTime);
this.TbCompareFiles.Rows.Add(row);
}
protected void Page_Load(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(BasePage.RequestString("IsShowAll")))
{
this.BtnCompareTogether_Click(sender, e);
}
}
private DataTable ReadLocalFileInfo()
{
DataTable table = this.ReadServerFileInfo();
string path = base.Server.MapPath("~");
DirectoryInfo info = new DirectoryInfo(path);
string[] strArray = "asax|ascs|ashx|asmx|asp|aspx|axd|cdx|cer|idc|licx|rem|resources|resx|soap|stm|vsdisco|webinfo".Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
int num = 0;
foreach (string str2 in strArray)
{
FileInfo[] files = info.GetFiles("*." + str2, SearchOption.AllDirectories);
if (files.Length != 0)
{
num += files.Length;
foreach (FileInfo info2 in files)
{
if (string.Compare(info2.Extension, "." + str2, true, CultureInfo.CurrentCulture) == 0)
{
string str3 = info2.FullName.Substring(path.Length).Replace('\\', '/').TrimStart(new char[] { '/' });
DataRow[] rowArray = table.Select("FileName='" + str3 + "'");
if (rowArray.Length == 0)
{
DataRow row = table.NewRow();
row["FileName"] = str3;
row["LocalSize"] = info2.Length;
row["LocalTime"] = info2.LastWriteTime;
table.Rows.Add(row);
this.m_ServerNotExsis++;
}
else
{
rowArray[0]["localSize"] = info2.Length;
rowArray[0]["LocalTime"] = info2.LastWriteTime;
}
}
}
}
}
this.LblLocalFiles.Text = num.ToString();
return table;
}
private DataTable ReadServerFileInfo()
{
string str;
if (base.IseShop)
{
str = "http://www.powereasy.net/FileList/SiteFactory/eShop_1.0.txt";
}
else
{
str = "http://www.powereasy.net/FileList/SiteFactory/CMS_1.0.txt";
}
Uri requestUri = new Uri(str);
StreamReader reader = null;
Stream responseStream = null;
HttpWebResponse response = null;
try
{
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(requestUri);
request.AllowAutoRedirect = false;
request.MaximumAutomaticRedirections = 1;
response = (HttpWebResponse) request.GetResponse();
if (response.ResponseUri.ToString() != requestUri.ToString())
{
throw new WebException();
}
responseStream = response.GetResponseStream();
reader = new StreamReader(responseStream, Encoding.Default);
}
catch (SocketException)
{
AdminPage.WriteErrMsg("由于官方在一段时间后没有正确答复或连接的官方主机没有反应,连接尝试失败,请稍后再试。", "CompareFilesOnline.aspx");
}
catch (ProtocolViolationException)
{
AdminPage.WriteErrMsg("由于官方在一段时间后没有正确答复或连接的官方主机没有反应,连接尝试失败,请稍后再试。", "CompareFilesOnline.aspx");
}
catch (WebException)
{
AdminPage.WriteErrMsg("由于官方在一段时间后没有正确答复或连接的官方主机没有反应,连接尝试失败,请稍后再试。", "CompareFilesOnline.aspx");
}
catch (InvalidOperationException)
{
AdminPage.WriteErrMsg("由于官方在一段时间后没有正确答复或连接的官方主机没有反应,连接尝试失败,请稍后再试。", "CompareFilesOnline.aspx");
}
catch (NotSupportedException)
{
AdminPage.WriteErrMsg("由于官方在一段时间后没有正确答复或连接的官方主机没有反应,连接尝试失败,请稍后再试。", "CompareFilesOnline.aspx");
}
DataTable table = new DataTable("ServerFiles");
table.Columns.Add("FileName", typeof(string));
table.Constraints.Add("PK_FileName", table.Columns["FileName"], true);
table.Columns.Add("ServerSize", typeof(long));
table.Columns.Add("ServerTime", typeof(DateTime));
table.Columns.Add("LocalSize", typeof(long));
table.Columns.Add("LocalTime", typeof(DateTime));
if (reader != null)
{
string str2;
if (string.IsNullOrEmpty(SiteConfig.SiteOption.AdvertisementDir))
{
while ((str2 = reader.ReadLine()) != null)
{
string[] strArray2 = str2.Split(new char[] { '|' });
if (strArray2.Length >= 3)
{
DataRow row2 = table.NewRow();
row2["FileName"] = strArray2[0];
row2["ServerSize"] = DataConverter.CLng(strArray2[1]);
row2["ServerTime"] = DataConverter.CDate(strArray2[2]);
table.Rows.Add(row2);
}
}
}
else
{
while ((str2 = reader.ReadLine()) != null)
{
string[] strArray = str2.Split(new char[] { '|' });
if (strArray.Length >= 3)
{
DataRow row = table.NewRow();
row["FileName"] = Regex.Replace(strArray[0], "^(AD/)", SiteConfig.SiteOption.AdvertisementDir + "/");
row["ServerSize"] = DataConverter.CLng(strArray[1]);
row["ServerTime"] = DataConverter.CDate(strArray[2]);
table.Rows.Add(row);
}
}
}
response.Close();
responseStream.Dispose();
reader.Dispose();
}
if (table.Rows.Count == 0)
{
AdminPage.WriteErrMsg("<li><span style='Color:#f00'>获取官方数据失败,可能是您的服务器不支持 XMLHTTP 组件或者是通过代理服务器访问网络。</span></li>");
}
this.LblServerFiles.Text = table.Rows.Count.ToString();
return table;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -