سؤال

ما هي فوائد استخدام ashx ، أو معالج ؟ أيضا, هل أنا في حاجة إليها إذا كنت تستخدم MVC (لماذا لا) ؟

لا إطار المسألة (2.0+)?

لماذا أريد أن استخدام معالج ؟ كنت مؤخرا المستحسن استخدام أحد لاسترجاع صورة ولكن أنا لا أعرف لماذا.

شكرا لك على وقتك.

تحرير - هو معالج أسرع ؟

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

المحلول

مجرد أمثلة قليلة:

  1. صورة ديناميكية الجيل:يمكنك كتابة معالجات إرجاع البيانات مدفوعة الصور من خلال خلق ASHX معالج بإرجاع بيانات الصورة ومن ثم استخدام هذا العنوان في العلامات الخاصة بك.على سبيل المثال <img alt="user's custom icon" src="Icon.ashx?username=bob"></img>

  2. عودة بقية المستندة إلى XML أو JSON البيانات إلى اياكس رمز على العميل.

  3. HTML مخصصة:عودة مخصص تماما HTML لصفحة عندما ASP.NET نماذج ويب أو إطار MVC مقيدة جدا

أعتقد أن هذه كانت متاحة منذ 1.0

نصائح أخرى

والغرض من معالجات في مشاريع غير MVC هو توفير نوع من الاستجابة المشفرة، خارج HTML. عادة، فإن معالج عودة XML (آر إس إس، مريحة، الخ)، JSON لمسج أو غيرها من جافا سكريبت، أو البيانات في بعض الأحيان مجرد محض مثل ملف التنزيلات الثنائية. لقد استعملت معالجات حتى للعودة جافا سكريبت خاص يتم كسكوتيد على العميل، كوسيلة لكسول، تحميل كبيرة ثنائي أو المتطلبات على نهج "الطلب فقط". أكثر أو أقل، وسوف تستخدم معالج للعودة "أي شيء ولكن HTML".

في MVC، هل الابتعاد عن معالجات والاستفادة من وحدة تحكم للعودة مهما كانت البيانات التي تريدها. لذلك، في طريقة مثل:

mywebsite.com/restapi/content/56223

وأنت RestfulContentController سيكون وسيلة لمؤشر ()، التي لن تعود على مشاهدة () ولكن بدلا من ذلك XML النقي أو JSON.

public class JSONContentController : Controller
{
  public JsonResult Index(int ContentID)
  {
    // get Content() by ContentID
    //

    // return a JSON version
    return Content().SerializeToJSON();
  }
}

وانهم مفيدة جدا إذا العمل الخاص بك في بيئة حيث لم يكن لديك الوصول إلى IIS ولكن نريد لتغيير أشياء مثل بعيدة المستقبل رؤوس استجابة انتهاء لتحسين التخزين المؤقت للملفات مثل المغلق، والصور، وجافا سكريبت

لصور يمكنك أن تفعل أشياء من هذا القبيل على التحسين ذبابة حتى تتمكن من طلب صور مثل image.jpg.ashx؟ ث = 180 والجودة = 70 ثم استخدام معالج لتقديم صورة استنادا إلى إعدادات تمريرها في سلسلة استعلام مواقع المعلومات

وASPX يرث الصفحة التي تنفذ IRequireSessionState. حتى إذا كنت اسميها عبر اياكس ثم يحتاج asp.net لقفل الدورة قبل مزيد من المعالجة.

لملف ashx أنه عديم الجنسية. إلا إذا كنت ترثها من IRequireSessionState لإدارة الدولة.

استخدم ashx لجميع المكالمات اياكس واستخدام ASPX للصفحة ASP.NET بحتة.

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