У меня есть страница 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();
}