29-09-12, 01:58 PM
(آخر تعديل لهذه المشاركة : 29-09-12, 02:00 PM {2} بواسطة محمود رغمان.)
2 - الترجمة الأولية للموقع .
عند نشر الموقع عبر نسخ جميع الملفات بما في ذلك ملفات التعليمات البرمجية فسيتم إجراء ترجمة الصفحات والتعليمات البرمجية الخلفية وغيرها بشكل ديناميكي عند طلبها للمرة الأولى من قبل احد المستخدمين .
يدعى ذلك بالترجمة الأولية ( in-place compilation ) .
بدلاً من نشر ملفات التعليمات البرمجية الخاصة بموقعك تستطيع استخدام الأداة aspnet_compiler الموجودة في المسار
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
لإجراء ترجمة أولية لملفات المصدر وملفات العرض أيضا ( اختياري ).
فيما يلي الأمر الذي تستخدمه لإجراء الترجمة الأولية :
aspnet_compiler –p c:\website\mywebsite –v/website c:\Deployement\mywebsite
يحدد البارمتر –p مجلد الملفات المصدر أما البارمتر –v فيحدد الدليل الظاهري لوجهة الملفات المترجمة .
بعد تنفيذ هذا الامر اتجه الى المسار
c:\Deployement\mywebsite\bin وستجد عدد من الملفات بامتداد .dll بالاضافة الى ملفات XML بالامتداد .Compiled من اجل جميع ملفات .aspx و .ascx
اذا قمت بتحرير احد ملفات .aspx فلن ترى أي تعليمة برمجية وسترى عوضاً عن ذلك العبارة التالية :
This is marker file generated by the precompilation tool , and should not be deleted!
يمكنك الآن اخذ جميع ملفاتك المتولدة عن الترجمة والموجودة في مجلد bin ونسخها الى خادم بعيد باستخدام برنامج FTP كما اشرنا سابقاً .
عملية التحديث .
من المؤكد ان عملية الترجمة شئ مغر ولكن قد يؤدى ذلك الى بعض من التعقيد لانة سيتوجب عليك في كل مرة تحتاج فيها لتغيير سطر واحد في احدى ملفات موقعك . الى اعادة الترجمة لكافة ملفاتك واعادة نشرها مرة اخرى .
من الأفضل إجراء الترجمة الاولية لملفات التعليمات البرمجية فقط . وليس لملفات العرض .
لفعل ذلك عليك ان تضيف البارمتر –u الى الامر السابق
aspnet_compiler –p c:\website\mywebsite –v/website -u c:\Deployement\mywebsite
عند تنفيذ هذا الأمر لن يتم توليد أي ملف من نوع compiled ولن تتم إزالة محتويات الملفات .aspx و .ascx ولكن سيتم إزالة السمة CodeFile من الموجهين @page و @control
هناك مشكلة أخرى تتعلق بعملية النشر عند استخدام أوامر الترجمة الاولية التي تحدثنا عنها هنا وهي أن أسماء الملفات المجمعة المولدة من عملية الترجمة دائماً أسماء مختلفة مما يجعل من الصعب تحديث الموقع محلياً ثم نسخ التغييرات إلى الخادم البعيد . لأن أسماء المجمعات ستكون مختلفة بعد كل عملية ترجمة أولية .
يمكن حذف المجمعات الغير مستخدمة او التي تود تحديثها ضمن المجلد bin البعيد ومن ثم تعيد تحميل الملفات الجديدة مرة أخرى .
وكذلك تستطيع اضافة البارمتر –fixednames الى الأمر aspnet_compiler كما يلي :
aspnet_compiler –p c:\website\mywebsite –v/website -u –fixednames c:\Deployement\mywebsite
لقد قمنا بذكر جميع الصيغ الممكنة لهذا الأمر aspnet_compiler وفي الحقيقة فأنت لست بحاجة لتذكر أي من هذة الصيغ إذا علمت ان بيئة الفيجوال ستديو توفر لك واجهة بسيطة لتنفيذ هذة الأوامر وذلك عن طريق اختيار
Build ثم Publish Web Site
يوفر لك هذا الخيار الوجهة التي ترغب سواء كانت موقع IIS المحلي او البعيد او موقع FTP .
ستشاهد مربعات الاختيار
1 - Alow this precompiled site to be updatable هو الخيار الذي يعوضك عن البارمتر –u
2 – use fixed naming and single page assemblies وهو الخيار الذي يعوضك عن البارمتر
–fixednames
ملحوظة
عند عمل الترجمة الاولية لموقع كبير يحى المئات من الصفحات فسيحتوى المجلد bin على عدد كبير من الملفات . لذا ومن المستحسن أن يتم دمج جميع الملفات .dll الى ملف مجمع وحيد .
لاتوجد أي طريقة لفعل ذلك من خلال الادوات المرئية التي توفرها لنا بيئة الفيجوال ستديو ولكن هناك أداة يمكن جلبها من العنوان
Visual Studio 2005 Web Deployment Projects
او
Visual Studio® 2008 Web Deployment Projects
بعد تنصيب هذة الأداة سيظهر لديك ملف aspnet-merge.exe ضمن المسار
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin
تسمح لك هذة الاداة بدمج جميع المجمعات المتولدة عن عملية الترجمة الى ملف dll وحيد .
عند تنفيذ هذة الاداة لن تحتاج الى لتحديد مسار الموقع الذي تم إجراء الترجمة الاولية عليه .
سنناقش عمل هذة الأداة في المرات القادة بإذن الله .
عند نشر الموقع عبر نسخ جميع الملفات بما في ذلك ملفات التعليمات البرمجية فسيتم إجراء ترجمة الصفحات والتعليمات البرمجية الخلفية وغيرها بشكل ديناميكي عند طلبها للمرة الأولى من قبل احد المستخدمين .
يدعى ذلك بالترجمة الأولية ( in-place compilation ) .
بدلاً من نشر ملفات التعليمات البرمجية الخاصة بموقعك تستطيع استخدام الأداة aspnet_compiler الموجودة في المسار
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
لإجراء ترجمة أولية لملفات المصدر وملفات العرض أيضا ( اختياري ).
فيما يلي الأمر الذي تستخدمه لإجراء الترجمة الأولية :
aspnet_compiler –p c:\website\mywebsite –v/website c:\Deployement\mywebsite
يحدد البارمتر –p مجلد الملفات المصدر أما البارمتر –v فيحدد الدليل الظاهري لوجهة الملفات المترجمة .
بعد تنفيذ هذا الامر اتجه الى المسار
c:\Deployement\mywebsite\bin وستجد عدد من الملفات بامتداد .dll بالاضافة الى ملفات XML بالامتداد .Compiled من اجل جميع ملفات .aspx و .ascx
اذا قمت بتحرير احد ملفات .aspx فلن ترى أي تعليمة برمجية وسترى عوضاً عن ذلك العبارة التالية :
This is marker file generated by the precompilation tool , and should not be deleted!
يمكنك الآن اخذ جميع ملفاتك المتولدة عن الترجمة والموجودة في مجلد bin ونسخها الى خادم بعيد باستخدام برنامج FTP كما اشرنا سابقاً .
عملية التحديث .
من المؤكد ان عملية الترجمة شئ مغر ولكن قد يؤدى ذلك الى بعض من التعقيد لانة سيتوجب عليك في كل مرة تحتاج فيها لتغيير سطر واحد في احدى ملفات موقعك . الى اعادة الترجمة لكافة ملفاتك واعادة نشرها مرة اخرى .
من الأفضل إجراء الترجمة الاولية لملفات التعليمات البرمجية فقط . وليس لملفات العرض .
لفعل ذلك عليك ان تضيف البارمتر –u الى الامر السابق
aspnet_compiler –p c:\website\mywebsite –v/website -u c:\Deployement\mywebsite
عند تنفيذ هذا الأمر لن يتم توليد أي ملف من نوع compiled ولن تتم إزالة محتويات الملفات .aspx و .ascx ولكن سيتم إزالة السمة CodeFile من الموجهين @page و @control
هناك مشكلة أخرى تتعلق بعملية النشر عند استخدام أوامر الترجمة الاولية التي تحدثنا عنها هنا وهي أن أسماء الملفات المجمعة المولدة من عملية الترجمة دائماً أسماء مختلفة مما يجعل من الصعب تحديث الموقع محلياً ثم نسخ التغييرات إلى الخادم البعيد . لأن أسماء المجمعات ستكون مختلفة بعد كل عملية ترجمة أولية .
يمكن حذف المجمعات الغير مستخدمة او التي تود تحديثها ضمن المجلد bin البعيد ومن ثم تعيد تحميل الملفات الجديدة مرة أخرى .
وكذلك تستطيع اضافة البارمتر –fixednames الى الأمر aspnet_compiler كما يلي :
aspnet_compiler –p c:\website\mywebsite –v/website -u –fixednames c:\Deployement\mywebsite
لقد قمنا بذكر جميع الصيغ الممكنة لهذا الأمر aspnet_compiler وفي الحقيقة فأنت لست بحاجة لتذكر أي من هذة الصيغ إذا علمت ان بيئة الفيجوال ستديو توفر لك واجهة بسيطة لتنفيذ هذة الأوامر وذلك عن طريق اختيار
Build ثم Publish Web Site
يوفر لك هذا الخيار الوجهة التي ترغب سواء كانت موقع IIS المحلي او البعيد او موقع FTP .
ستشاهد مربعات الاختيار
1 - Alow this precompiled site to be updatable هو الخيار الذي يعوضك عن البارمتر –u
2 – use fixed naming and single page assemblies وهو الخيار الذي يعوضك عن البارمتر
–fixednames
ملحوظة
عند عمل الترجمة الاولية لموقع كبير يحى المئات من الصفحات فسيحتوى المجلد bin على عدد كبير من الملفات . لذا ومن المستحسن أن يتم دمج جميع الملفات .dll الى ملف مجمع وحيد .
لاتوجد أي طريقة لفعل ذلك من خلال الادوات المرئية التي توفرها لنا بيئة الفيجوال ستديو ولكن هناك أداة يمكن جلبها من العنوان
Visual Studio 2005 Web Deployment Projects
او
Visual Studio® 2008 Web Deployment Projects
بعد تنصيب هذة الأداة سيظهر لديك ملف aspnet-merge.exe ضمن المسار
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin
تسمح لك هذة الاداة بدمج جميع المجمعات المتولدة عن عملية الترجمة الى ملف dll وحيد .
عند تنفيذ هذة الاداة لن تحتاج الى لتحديد مسار الموقع الذي تم إجراء الترجمة الاولية عليه .
سنناقش عمل هذة الأداة في المرات القادة بإذن الله .
