gpt4 book ai didi

c# - 进行基础连接时,asp.net 页面加载两次

转载 作者:太空宇宙 更新时间:2023-11-03 20:46:59 25 4
gpt4 key购买 nike

我有一个 aspx 页面,当我输入页面的 Url 时,它似乎加载了两次。

在此页面的加载事件中,我连接到服务器以检索文档,然后将下载的字节输出到页面的输出流。

由于某些奇怪的原因,这导致页面加载两次。如果我在不建立此连接的情况下对字节数组进行硬编码,则页面加载一次就一切正常。

以下是用于检索外部文档的方法。也许你能看到我看不到的东西。

public static byte[] GetDocument(string url)
{
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
Stream stream = myHttpWebResponse.GetResponseStream();

byte[] _Data = StreamToBytes(stream);

return _Data;
}

private static byte[] StreamToBytes(System.IO.Stream theStream)
{
if (theStream == null)
throw new ArgumentException("URL null.");

int bytesRead = 0;
byte[] buffer = new byte[8096];
MemoryStream bufferStream = new MemoryStream();

try
{
do
{
bytesRead = theStream.Read(buffer, 0, 8096);
bufferStream.Write(buffer, 0, bytesRead);

} while (bytesRead > 0);

}
finally
{
bufferStream.Flush();
theStream.Close();
theStream.Dispose();
}

return bufferStream.ToArray();
}

最佳答案

除了具有 this.Page_Load += Page_Load; 的 OnInit() 之外,可能的罪魁祸首是 AutoEventWireup="true" 的页面指令;

Auto Event Wireup 就像它听起来的那样。如果存在遵循命名约定的方法,则会自动连接该事件。

您也经常在按钮处理程序上看到这一点。将专门设置按钮处理程序,如果名称遵循约定 buttonname_OnClick(sender,args)

,页面还将创建一个按钮处理程序

关于c# - 进行基础连接时,asp.net 页面加载两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/456065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com