أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

تعمل مع موارد ويب في ASP.NET 2.0

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

910442
إخلاء مسؤولية من محتوى قديم في قاعدة المعارف
عن تقديم الدعم التقني لهاو لذلك تظهر هذه المقالة كما هي و لن يتم تحديثها Microsoft تمت كتابة هذه المقالة بخصوص منتجات توقفت
عمود الصوت دعم ASP.NET

تعمل مع موارد ويب في ASP.NET 2.0

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

مقدمة

مرحبا! اسمي أحمد ييرنيني وأنا عامل "يؤدي الفني" مع فريق دعم ASP.NET في Microsoft. في العمود هذا الشهر، سوف لمناقشة كيفية تنفيذها في و "موارد الويب" الخاص بك التطبيق.

إذا كنت مطوراً الذي يعمل على نطاق واسع مع COM عناصر تحكم، قد تجد هذا المقال مفيداً في معالجة بعض الرئيسية المشكلات التي قد تواجهها أثناء تطوير عناصر التحكم. سابقا، في Microsoft ASP.NET 1.1، إذا كنت تريد نشر ملفات ثابتة مثل ملفات.html، css. الملفات وملفات الصور وملفات البرامج النصية باستخدام عنصر تحكم COM، يجب عليك إنشاء تتحكم هذه الملفات مع COM المثبت وحزمة. على الرغم من أن ويعمل هذا، عرضه العديد من المشاكل أثناء نشر عنصر التحكم. من أجل على سبيل المثال، قد قمت بمشاكل تعارض في الإصدارات، مع التأكد أن مثل الصور تم نشرها إلى نفس الموقع، أو بتلف ملفات أو حذف الملفات الثابتة التي يمكن أن تسبب عنصر التحكم إلى فشل.

ويب الموارد في Microsoft ASP.NET 2.0 على معالجة هذه المشكلات عن طريق السماح المطور بتضمين هذه الموارد في التجميع ك.resources. للوصول إلى هذه موارد ثابتة، يمكنك فقط استدعاء أسلوب في عنصر التحكم التعليمات البرمجية.

كيف تعمل "موارد الويب"

موارد ويب تعتمد على معالج خاص يسمى WebResource.axd، الذي تم تصميمه لاسترداد الموارد التجميع وخدمة لهم بمستعرض ويب. نوع معالج WebResource.axd هو أسيمبليريسورسيلوادير.

عند طلب يأتي من عميل WebResource.axd، يبحث المعالج عن معرف "مورد ويب" في أسلوب QueryString كائن طلب . استناداً إلى قيمة معرف "مورد ويب"، يحاول المعالج ثم تحميل التجميع الذي يحتوي على هذا المورد. إذا كان هذا العملية غير ناجحة، ثم سيبحث المعالج عن سمة التجميع وتحميل الدفق المورد من التجميع. وأخيراً، سيتم استخدام المعالج دفق البيانات من المورد وإرسالها إلى العميل مع نوع المحتوى الذي تحدده في سمة التجميع.

عنوان URL WebResource.axd تشبه ما يلي:
WebResource.axd?d=SbXSD3uTnhYsK4gMD8fL84_mHPC5jJ7lfdnr1_WtsftZiUOZ6IXYG8QCXW86UizF0&t=632768953157700078
تنسيق محدد موقع المعلومات هذا هو WebResource.axd?d=تشفير المعرفآند t =قيمة طابع الوقت. علامة يمثل "d" "مورد ويب" المطلوبة. هو "t" الطابع الزمني التجميع المطلوب، التي يمكن أن تساعد في تحديد ما إذا كانت هناك أي التغييرات للمورد.

تبحث في التعليمات البرمجية

في المثال، لقد وضعت عنصر تحكم COM التي تم استهلاكها من قبل تطبيق ويب ASP.NET لشرح هذه الميزة الجديدة.

عنصر تحكم COM "مورد ويب"

لإنشاء وتضمين "مورد ويب"، ولقد وضعت COM عنصر التحكم (سيمبليكونترول). فقد الموارد المضمنة التالية:
  • اثنين ملفات التي يتم تسميتها smallFail.gif الصور و تستخدم هذه الملفات الصورة لتأثيرات الانتقال في smallSuccess.gif. عنصر التحكم ويتم استهلاكها في التعليمات البرمجية لعنصر التحكم.
  • ملف HTML الذي يسمى Help.htm. هذا الملف غير موجود تحتوي على حجم النص وفقط من أجل العرض التوضيحي.
  • ملف JavaScript واحد يسمى MyScript.js. هذا الملف يحتوي على بعض التعليمات البرمجية JavaScript الذي يوضح أيضا ميزة "استبدال" للحصول على مرجع إلى مورد مضمن آخر داخل نفس التجميع.
  • ملف.css واحد يسمى MyStyleSheet.css. هذا النمط ويستهلك ورقة ثم مباشرة من تطبيق ويب ASP.NET.
في هذه المقالة، سوف ابحث الأجزاء المطلوبة من أجل موارد الويب.
تضمين موارد ويب
أولاً، يجب عليك التأكد من أن كافة الملفات الثابتة التي إضافة إلى "مكتبة عنصر تحكم ويب" يتم المشروع في Microsoft Visual Studio 2005 الموارد المضمنة. لتضمين هذه الموارد، كل ما عليك فعله إضافة هذه الملفات إلى Visual Studio ثم قم بتعديل خصائص هذه الملفات حتى أن يتم تعيين إجراء البناء إلى مضمن المورد.

بعد القيام بذلك، عليك أيضا التأكد التأكد من أن هذه الموارد تمت الإشارة إليها طريقة التجميع السمة في الملف AssemblyInfo.cs كما هو موضح أدناه.
[assembly: WebResource("SimpleControl.Help.htm", "text/html")][assembly: WebResource("SimpleControl.MyStyleSheet.css", "text/css")][assembly: WebResource("SimpleControl.smallFail.gif", "image/gif")][assembly: WebResource("SimpleControl.smallSuccess.gif", "image/gif")][assembly: WebResource("SimpleControl.MyScript.js", "text/javascript", PerformSubstitution = true)]
سمة التجميع مورد ويب يحتوي على معلمات الثلاثة كما يلي:
  • مورد ويب: اسم مورد المضمنة في التجميع
  • نوع المحتوى: MIME نوع الملف للمورد
  • بيرفورمسوبستيتوشن: قيمة منطقية التي تحدد ما إذا كانت "عناوين Url مورد ويب" الأخرى التي يتم الرجوع إليها في هذا المورد يتم تحليلها واستبداله بالمسار الكامل المورد
جلب موارد ويب
للحصول على "مورد ويب"، ولقد استخدمت الأسلوب جيتويبريسورسيورل ، وهو أسلوب فئة كلينتسكريبتماناجير الذي يتم استخدامه عادة لإدارة البرامج النصية من جانب العميل. هذا الأسلوب بإرجاع مرجع URL إلى المورد بالخادم الذي يتم مضمن في تجميع. الأسلوب جيتويبريسورسيورل يقبل معلمتين التالية:
  • النوع: نوع المورد بالخادم
  • اسم المورد: اسم المورد بالخادم
لاستخدام هذه الطريقة، أولاً يجب عليك إنشاء مثيل لفئة كلينتسكريبتماناجير والحصول على نوع الفئة كما هو موضح أدناه.
ClientScriptManager cs = Page.ClientScript;            Type rsType = this.GetType();
إذا كان لديك مثيل من هذه الفئة، ثم يجب عليك استدعاء هذا أسلوب تمرير المعلمات المناسبة كما هو موضح أدناه، حيث يمكنني إنشاء زر ارتباط تشعبي وتعيين أسلوب NavigateURL للإشارة إلى مورد HTML مضمن.
HyperLink hlHelpFile = new HyperLink();            hlHelpFile.NavigateUrl = cs.GetWebResourceUrl(rsType, "SimpleControl.Help.htm");            hlHelpFile.Attributes.Add("onmouseover", "ChangeImage('image1','Red')");            hlHelpFile.Attributes.Add("onmouseout", "RollbackImage('image1','Green')");                        this.Controls.Add(hlHelpFile);            Image imgTest = new Image();            imgTest.ImageUrl = cs.GetWebResourceUrl(rsType, "SimpleControl.smallFail.gif");            imgTest.ID = "image1";            hlHelpFile.Controls.Add(imgTest);
أيضا في نفس قائمة التعليمات البرمجية أعلاه، قمت بإنشاء الصورة زر والسمة ImageUrl هو الحصول على القيمة الخاصة به من صورة.gif مضمنة أخرى مورد.
استخدام ميزة "استبدال"
ميزة أخرى مفيدة لاستخدام "موارد الويب" هي الخاصية بيرفورمسوبستيتوشن السمة مورد ويب كما هو موضح في المقطع "التضمين موارد ويب" أعلاه. تتيح هذه الميزة في الواقع الحصول على "موارد الويب" داخل آخر مضمن مورد. إذا تم تمكين هذه الخاصية، سيقوم معالج مورد ويب تحليل الموارد المضمنة واستبدال بناء الجملة سمة التجميع مورد ويب مع الموارد الفعلية قبل التقديم الصفحة.

في التعليمات البرمجية أعلاه، فسوف تلاحظ أن عنصر تحكم الارتباط التشعبي قد حدث العميل الذي يسمى تشانجيماجي. هذه الدالة تشانجيماجي الموجود في ملف البرنامج نصي. التالي هو التعليمات البرمجية لهذا البرنامج النصي.
function ChangeImage(imgControl,varcolor){   document.getElementById(imgControl).src = '<%= WebResource("SimpleControl.smallSuccess.gif")%>';    document.getElementById('Label1').style.color = varcolor;}function RollbackImage(imgControl, varcolor){   document.getElementById(imgControl).src = '<%= WebResource("SimpleControl.smallFail.gif")%>';   document.getElementById('Label1').style.color = varcolor;}
هذا ملف البرنامج النصي الذي يدعى MyScript.js أيضا مورد مضمن في نفس عنصر تحكم COM. ولاحظ أن أنا باستخدام الأسلوب طريقة للإشارة إلى آخر الموارد المضمنة في البرنامج النصي ملف.

أيضا، للتأكد من أن يتم تسجيل هذا الملف JavaScript في الصفحة، أنا استخدم الأسلوب ريجيستيركلينتسكريبتينكلودي من الفئة كلينتسكريبتماناجير كما هو موضح أدناه.
cs.RegisterClientScriptInclude("MyScript", cs.GetWebResourceUrl(rsType, "SimpleControl.MyScript.js"));

استهلاك عنصر التحكم في ASP.NET

بمجرد إنشاء عنصر تحكم COM بنجاح، تحتاج إلى استهلاك عنصر التحكم هذا في مشروع ASP.NET عميل. للقيام بذلك، عليك أن إضافة عنصر التحكم إلى مربع الأدوات في ASP.NET. ثم يمكنك إضافة عنصر التحكم إلى أي نموذج ويب في المصمم.

عند إضافة عنصر التحكم إلى مربع الأدوات، يتم تسجيل عنصر التحكم لك ويتم إضافة التعليمات البرمجية التالية عند النظر بناء جمل HTML.
<cc1:MSButton ID="MSButton1" runat="server" strText="Problems?"></cc1:MSButton>
في عنصر تحكم COM الخاص بي، أنا قد أيضا جزءا لا يتجزأ من ملف ورقة أنماط، وسوف تستخدم في تطبيق ASP.NET الخاص بي. للوصول إلى ورقة الأنماط الحالية، يجب عليك إضافة ارتباط HtmlControl في صفحة HTML وتعيين الخاصية runatserver كما هو موضح أدناه.
<link rel="Stylesheet"  id="lnkStyle" runat="server"  />
بعد ذلك، يمكنك برمجياً تعيين السمة Href من عنصر التحكم هذا للإشارة إلى سمة التجميع مورد ويب في حدث Page_Load كما هو موضح أدناه.
protected void Page_Load(object sender, EventArgs e)    {        //Get the name of the Web Resource.        String rsname = "SimpleControl.MyStyleSheet.css";                //Get the type of the class.        Type rstype = typeof(SimpleControl.MSButton);        // Get a ClientScriptManager reference from the Page class.        ClientScriptManager cs = Page.ClientScript;        lnkStyle.Href = cs.GetWebResourceUrl(rstype, rsname);     }
عند تشغيل التعليمات البرمجية، سوف ترى عنصر تحكم التي تبدو وكأنها بعد:
 فشل صغير
وعلى الماوس فوق عنصر التحكم ستبدو كما يلي:
 نجاح صغيرة
عند النقر فوق هذا الارتباط، فإنه سوف ينقلك إلى صفحة التعليمات، الذي مضمن في ملف التجميع عنصر تحكم COM.

استنتاج

موارد ويب ميزة جديدة مفيدة في ASP.NET 2.0. يمكنك استخدام هذه الميزة لصالحك إذا استخدمت بحكمة. العديد من تقنيات التخزين المؤقت تم استخدامها للتأكد من أن "موارد الويب" لا تؤثر على أداء التطبيق.

في ASP.NET 2.0، WebResource.axd يتم استخدامها داخليا بواسطة Microsoft.NET Framework لاسترداد الموارد المضمنة. على سبيل المثال، يستخدم.NET framework WebResource.axd لاسترداد البرنامج النصي WebUIValidation.js الملف الذي يتم استخدامه التحقق من صحة عناصر التحكم واسترداد ملف البرنامج النصي Menu.js عناصر القائمة .

مراجع

لمزيد من المعلومات، الرجاء زيارة موقعي Microsoft التاليين على الويب:
كما هو الحال دائماً، لا تتردد في إرسال أفكار حول المواضيع التي تريدها تناول في الأعمدة المستقبلية أو في قاعدة المعارف باستخدام السؤال عنه .

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 910442 - آخر مراجعة: 04/30/2013 05:15:00 - المراجعة: 3.0

  • Microsoft ASP.NET 2.0
  • kbhowto kbasp kbmt KB910442 KbMtar
تعليقات