مشکل در راه اندازی httphandler

rayanets

عضویت : 1398/05/07 پرسش ها : 65 پاسخ ها : 51

مشکل در راه اندازی httphandler

ارسال شده در : ‫۴ ماه قبل، شنبه ۲۷ مهر ۱۳۹۸، ساعت ۱۶:۵۲

سلام و درود

استاد این سورس کد مربوط به هندلر هست:

public class DownloadHandler : IHttpHandler
    {
        UnitOfWork db = new UnitOfWork();
        public void ProcessRequest(HttpContext context)
        {
            if (context.User.Identity.IsAuthenticated)
            {
                if (context.Request.QueryString["Product"] != null && context.Request.QueryString["Product"] != "")
                {
                    int productFileID = Convert.ToInt16(context.Request.QueryString["Product"]);
                    string userName = context.User.Identity.Name;

                    var product = db.ProductFilesRepository.ProductFiles().Where(pf => pf.PFID == productFileID) .SingleOrDefault();
                    if (product != null)
                    {
                        if (product.saleState)
                        {
                            var productorder = db.OrderDetailsRepository.OrderDetails().Where(o =>
                                o.ProductID == product.ProductID && o.Orders.IsFinaly &&
                                o.Orders.Users.UserName == context.User.Identity.Name).SingleOrDefault();
                            if (productorder != null)
                            {
                                context.Response.RedirectToRoute(new
                                    {controller = "Product", action = "GetFileFromDisk", area = "", id = product.PFID});
                            }
                            else
                            {
                                context.Response.RedirectToRoute(new
                                    {controller = "Product", action = "AccessDeniedBuy", area = "", id = product.PFID});
                            }
                        }
                        else
                        {
                            context.Response.RedirectToRoute(new
                                {controller = "Product", action = "GetFileFromDisk", area = "", id = product.PFID});
                        }
                    }


                }
            }
            else
            {
                context.Response.Redirect("~/product/AccessDeniedLogin");
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }

و این هم کدی هست که به webconfig اضافه کردم

  <system.webServer>
<add name="myDownloadHandler" verb="*" path="*" type="RayanetMarket.Utilities.DownloadHandler"/>
    </handlers>
  </system.webServer>

این هم کدی هست که قرار هست فراخوانی کنه: 

<a href="/Product?@item.PFID">لینک دانلود</a>

اما این خطا را میده

1- مطعمن هستم کد فراخوانی من مشکل داره خواهش میکنم راهنمایی کنید لینک باید چطوری بنویسم؟

2-path=*  این چه معنی میده؟ چون در بعضی سایت ها پسوند فایل در این قسمت دیده میشه؟

3- در redirecttorout آیا Id درست ارسال میشه من نمونه ای که هم اریا باشه هم id پیدا نکردم؟

برای ارسال پاسخ باید وارد شوید و یا در سایت عضو شوید