سلام وقت بخیر.
یک قطعه کد ساده دارم که با اون یک فایل رو از web server دانلود می کنم ، وب سرور IIS و هم وب سرور Apache امتحان شده.
using (WebClient webClient = new WebClient())
{
CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStor e);
webClient.DownloadProgressChanged += WebClient_DownloadProgressChanged;
webClient.DownloadFileCompleted += WebClient_DownloadFileCompleted; ;
webClient.DownloadFileAsync(new Uri(url), "updates.zip");
}
و
Uri uri = new Uri(@"http://www.google.com/config.txt");
WebClient webClient = new WebClient
{
CachePolicy =
new RequestCachePolicy(RequestCacheLevel.NoCacheNoStor e)
};
using (Stream stream = webClient.OpenRead(uri))
{
if (stream != null)
{
using (StreamReader streamReader = new StreamReader(stream))
{
url = streamReader.ReadToEnd();
}
}
}
لازم به ذکر که فقط آخرین ورژن از نرم افزار روی سرور هست و به این صورت نیست که چند نسخه باشه ، فقط آخرین و یک نسخه. پس خبری از نسخه های قدیمی نیست
مشکلی که دارم اینه که خیلی وقتا فایلی دانلود میشه که مربوط به چندین نسخه قبل تر هست ، و اصلا به شک می افتم که اون فایل اصلا از کجا دانلود شده ؟ کجا کش شده؟
مثلا با نت ایرانسل این مشکل خیلی هست ولی با adsl شرکت ها به ندرد ، در اینترنت عراق که خیلی مشکل داره این مورد زیاده.
با ایرانسل تماس گرفتم و گفتند بله برای رعایت کیفیت مشترکین و چون خیلی یوزر داریم از کش استفاده می کنیم و تایمش طولانیه.شما بیا در فایل های asp.net خودت از no cache استفاده کن.حالا هی من توضیح میدادم این داستان که اصلا asp.net نیست و یارو در این حد بلد بود.
از طریق IIS هم کش رو کلا غیر فعال کردم ، ولی تاثیر گذار نبود.وقتی فایل رو مثلا با IDM دانلود می کنم درسته ، ولی با این دستور ها مشکل داره.به نظر شما چه باید کرد؟ از FTP استفاده کنم؟سرعت FTP خیلی کمه.
ممنونم