سؤال

أكتب صفا يرث من ihttphandler للسيناريو و CSS يجمع. أريد فقط أن أجمع إذا كان QueryString يحتوي على معلمة خاصة محددة. إذا لم يتم تعريف هذه المعلمة، فأنا أرغب في كتابة محتويات الملف كما لو أن المعالج لم يكن متورطا. المشكلة الوحيدة التي صادفها هي أن لدي علامة نصية على الصفحة التي تشير إلى برنامج نصي في دليل الظاهري ولكن الصفحة التي أضربها في دليل فرعي للتطبيق.

الصفحة التي يتم الرجوع إليها من البرنامج النصي للتحكم في http: //webserver/admin/default.aspx.. وبعد عند الوصول إلى كائن الطلب في الفصل الذي ينفذ Ihttphandler جميع خصائص مسار الملفات ما يلي: WebServer / Admin / ~ / Sharedscripts / Control.js. كيف احل هذا الامر؟

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

المحلول 2

هذا هو الحل الذي توصلت إليه مع:

string fileContent = string.Empty;
string filePath = context.Request.PhysicalPath;
int tildeLocation = filePath.LastIndexOf("~");

string location = (tildeLocation == -1 ? filePath : context.Server.MapPath(filePath.Substring(tildeLocation, filePath.Length - tildeLocation)));

نصائح أخرى

أساسا، أنت بحاجة إلى ResolveUrl الطريقة، ولكن ليس لديك Page, أو أي ضوابط لهذه المسألة. هذه المقالة يشرح كيفية القيام بذلك دون Page كائن في متناول اليد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top