我正在开发一个需要根据互联网速度/带宽改变内容的网站。
在带宽较低的地方,Web 应用程序应该只显示纯文本,而对于正常带宽,则显示正常的网站。
几天以来我一直在考虑它,但我无法找到合适的解决方案。有没有一种简单的方法来检测 asp.net 中的带宽?
谢谢
按照给定的代码检查您的互联网连接速度添加命名空间
使用 System.Net;
在测试按钮单击事件上编写代码..
Uri URL = new Uri("http://sixhoej.net/speedtest/1024kb.txt");
WebClient wc = new WebClient();
double starttime = Environment.TickCount;
// download file from the specified URL, and save it to C:\speedtest.txt
wc.DownloadFile(URL, @"C:\speedtest.txt");
// get current tickcount
double endtime = Environment.TickCount;
// how many seconds did it take?
// we are calculating this by subtracting starttime from endtime
// and dividing by 1000 (since the tickcount is in miliseconds.. 1000 ms = 1 sec)
double secs = Math.Floor(endtime - starttime) / 1000;
// round the number of secs and remove the decimal point
double secs2 = Math.Round(secs, 0);
// calculate download rate in kb per sec.
// this is done by dividing 1024 by the number of seconds it
// took to download the file (1024 bytes = 1 kilobyte)
double kbsec = Math.Round(1024 / secs);
Label1.Text = "Download rate: " + kbsec + " kb/sec";
try
{
// delete downloaded file
System.IO.File.Delete(@"C:\speedtest.txt");
Response.Write("Done.");
}
catch
{
Response.Write("Couldn't delete download file.");
Response.Write("To delete the file yourself, go to your C-drive and look for the file 'speedtest.txt'.");
}