هل تريد كتابة ملف تعريف ارتباط من ASP.Net HTTPHandler - كائن Page.Response؟

StackOverflow https://stackoverflow.com/questions/131110

سؤال

أقوم بإنشاء معالج HTTP يستمع إلى المكالمات إلى نوع ملف معين، ويتعامل معه وفقًا لذلك.يستمع معالج HTTP الخاص بي إلى ملفات .bcn، ثم يكتب ملف تعريف الارتباط إلى كمبيوتر المستخدم ويرسل صورة...سيتم استخدام هذا في اللافتات الإعلانية بحيث يتم تمييز المستخدم على أنه يرى اللافتة، ويمكننا بعد ذلك تقديم عروض خاصة عند زيارتهم لموقعنا لاحقًا.

المشكلة التي أواجهها هي الوصول إلى كائن الصفحة ...بالطبع HTTPHandler ليس في الواقع صفحة، وبما أن كائن الاستجابة موجود داخل كائن الصفحة، فلا يمكنني الوصول إليه لكتابة ملف تعريف الارتباط.

هل هناك طريقة للتغلب على هذا، أم أنني بحاجة للعودة مرة أخرى إلى مجرد استخدام صفحة ASPX القياسية للقيام بذلك؟

شكرا أكوام ..جريج

هل كانت مفيدة؟

المحلول

يمكنك الوصول إلى كائن الاستجابة من كائن HttpContext الذي تم تمريره إلى أسلوب ProcessRequest من IHttpHandler.هذا هو نفس الكائن الذي تم الكشف عنه بواسطة Page.Response.

نصائح أخرى

يتم تمرير أسلوب ProcessRequest() المحدد في IHttpHandler إلى مرجع HttpContext.سيكون لكائن HttpContext هذا خاصية تسمى الاستجابة والطلب، والتي يمكنك استخدامها.

أه نعم...شكرا أكوام cKramer :)

كود العمل هو :

HttpContext.Current.Response.Cookies.Add(cookie);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top