نمایش نتایج 1 تا 3 از 3

نام تاپیک: مشکل در دانلود فایل کش شده!!

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

    مشکل در دانلود فایل کش شده!!

    سلام وقت بخیر.
    یک قطعه کد ساده دارم که با اون یک فایل رو از 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 خیلی کمه.

    ممنونم

  2. #2

    نقل قول: مشکل در دانلود فایل کش شده!!

    نقل قول نوشته شده توسط NasimBamdad مشاهده تاپیک
    سلام وقت بخیر.
    یک قطعه کد ساده دارم که با اون یک فایل رو از 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 خیلی کمه.

    ممنونم
    همین که اون کسی باهاش صحبت کردید می دونسته asp.net اسم یک قطعه سخت افزاری در مادربورد نیست جای شکر داره.
    نرم افزار های مدیریت دانلود در Header درخواست شون Cache-Control رو no-cache میفرستند.
    اگه در دانلود مشکلی ایجاد نمیکنه، یک راه موثر اینه که بصورت پارامتر Get یک مقدار تصادفی ارسال کنید تا دیگه نسخه کش شده تحویلتون نده.

    var rnd = new Random();
    webClient.DownloadFileAsync(new Uri(url), "updates.zip?id=c" + rnd.Next().ToString() + rnd.Next().ToString());


    در ضمن احتمال داره که اگه بجای WebClient با HttpWebRequest دانلود کنید و در درخواست از request.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCac heNoStore) استفاده کنید، راضی بشه که براتون نسخه کش شده ارسال نکنه.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

    نقل قول: مشکل در دانلود فایل کش شده!!

    مشکل من اینه که یک فایل ثابت هر سری دانلود می کنم به این صورت :

    در فایل کانفیگ این آدرس ثابت قید شده ، به نظر شما چه طور میشه از اسم های تصادفی استفاده کرد و این مقدار رو بتونیم در فایل کانفیگ پوشش بدیم؟ مثلا آدرس رو در یک فایل تست بنویسیم و هر سری اون رو تغییر بدیم؟ چه راه بهینه ای مد نظر شما است؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •