PDA

View Full Version : سوال: اضافه کردن به تعداد دانلود ها



programmer755
یک شنبه 20 اردیبهشت 1394, 16:19 عصر
سلام دوستان
عصر بخیر
من میخوام وقتی روی دکمه ی دانلود کلیک میشه یک واحد به تعداد دانلودها اضافه بشه
کد زیر رو هم نوشتم اما اجرا نمیشه
به نظر شما مشکلش چیه ؟
ممنونم

131073

131072

mosi123
دوشنبه 21 اردیبهشت 1394, 22:27 عصر
این کار رو باید در استورد پراسیجر انجام بدید و بعد از هر کلیک بر دکمه دانلود، دستور آپدیت رو قرار بدید

programmer755
سه شنبه 22 اردیبهشت 1394, 00:56 صبح
این کار رو باید در استورد پراسیجر انجام بدید و بعد از هر کلیک بر دکمه دانلود، دستور آپدیت رو قرار بدید

خیلی ممنونم ، اما چطور باید با استورد پراسیجر ارتباط برقرار کنم ؟؟

raziee
سه شنبه 22 اردیبهشت 1394, 07:14 صبح
با سلام
شما باید درخواست های ارسالی برای دریافت فایل رو بررسی کنید.
در این بررسی شما میتونید بیزینس دلخواه رو پیاده کنید (مثلا: بررسی داشتن مجوز، افزایش تعداد دانلود و ...)
نباید فایل ها در مسیر مشخص و قابل شناسایی توسط کاربر نهایی باشه.
یعنی DownloadURL موجودیت شما نباید آدرس مطلق برای فایل باشه (yoursite/file.ext)، بهتره یک Handler بنویسد و آدرسی شبیه به yoursite/downloader.ashx?id=fileid داشته باشید.
در این حالت میتونید هر کاری که دوست دارید رو انجام بدید.


نکته: IIS فایل های static (مثل css, js, pdf, rar, ....) رو خودش مدیریت میکنه، امکان گرفتن مدیریت از IIS به ASP.NET وجود داره ولی به دردسرش نمی ارزه.

programmer755
سه شنبه 22 اردیبهشت 1394, 14:24 عصر
دوستان من جواب سوالمو پیدا کردم :
کدی که نوشتمو میزارم شاید به درد بقیه هم بخوره

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{



StartAudioDownload();


}
}


private void StartAudioDownload()
{
myEntity entity = new myEntity ();
int id = Int32.Parse(Page.RouteData.Values["id"].ToString());


Article ar = entity.Articles.Single(p => p.ID == id);


ar.DownloadCount = (Convert.ToInt32(ar.DownloadCount) + 1);
entity.SaveChanges();


Response.Redirect(ar.DownloadUrl);
}




با این کد هم دانلود به صورت اتوماتیک شروع میشه و هم یک واحد به تعداد دانلود ها اضافه میشه

raziee
سه شنبه 22 اردیبهشت 1394, 16:23 عصر
با سلام.
فرض کنید من یک بار از این طریق کد شما اقدام به دانلود کردم و به تعداد دانلود ها، یک واحد اضافه شد.
آدرس تولید شده (DownloadUrl) رو میگیریم و به n نفر ایمیل میزنم، اون n نفر هم لینک رو باز میکنن و فایل رو دریافت میکنن. بدون اینکه به تعداد دانلود ها اضافه بشه :چشمک:
علاوه بر این تعداد دانلودها با ساختار فعلی شما ، تعداد واقعی نیست چون User میتونه n بار Page شما رو باز کنه (تعداد دانلود ها برای یک درخواست کننده باید یکبار باشه حالا میخواد n بار دانلود کنه)

programmer755
سه شنبه 22 اردیبهشت 1394, 17:24 عصر
با سلام.
فرض کنید من یک بار از این طریق کد شما اقدام به دانلود کردم و به تعداد دانلود ها، یک واحد اضافه شد.
آدرس تولید شده (DownloadUrl) رو میگیریم و به n نفر ایمیل میزنم، اون n نفر هم لینک رو باز میکنن و فایل رو دریافت میکنن. بدون اینکه به تعداد دانلود ها اضافه بشه :چشمک:
علاوه بر این تعداد دانلودها با ساختار فعلی شما ، تعداد واقعی نیست چون User میتونه n بار Page شما رو باز کنه (تعداد دانلود ها برای یک درخواست کننده باید یکبار باشه حالا میخواد n بار دانلود کنه)

ممنونم از راهنماییتون
من آدرس تولید شده (DownloadUrl) رو میگیریم و با Browser های دیگه باز میکنم اما به تعداد دانلودها اضافه میشه ، چون قبل از اینکه فایل شروع به دانلود شدن بکنه من دارم 1واحد به تعداد دانلود ها اضافه میکنم .
اما در مورد اینکه میفرمایید برای یک درخواست کننده باید یکبار افزایش اعمال بشه نه n بار ، باید چیکار کنم ؟
با تشکر