هل قبل ان نقوم برفع الموقع على السيرفر نحول ملفات aspx الى نوع معين من الملفات كي يختفى السورس كود مثل ملف exe في الwindows Application ؟
و شكرا لكم ..
هل قبل ان نقوم برفع الموقع على السيرفر نحول ملفات aspx الى نوع معين من الملفات كي يختفى السورس كود مثل ملف exe في الwindows Application ؟
و شكرا لكم ..
نعم يمكنك فعل هذا باستخدام خاصية Publish Website
هذا أفضل في رأيي لأكثر من سبب:
1) الإخفاء للكود وإن كان في الحقيقة لا يتم إخفاؤه لأنه يمكن فتحه بأي Reflector ولكن سيتم إخفاؤه لمن يريد التلصص بالعيد المجردة
2) يجمع كل ملفات الأكواد سواء كانت vb أو cs في مكان واحد وهو الـ bin folder
3) أسرع لأن الـ Published Version تسمى Precompiled ولا يحتاج السيرفر لعمل Compilation on the fly عند تشغيل الموقع.
كيف يمكنك استخدام هذه الطريقة:
ببساطة من خلال الـفيجوال ستوديو كما في الصورة الموضحة أدناه
ثم ستقوم بتحدد المسار الذي تريد النسخة عليه ومن ثم يمكنك بعد ذلك رفعها على السيرفر بكل سهولة.
مدونة ابنتي الرضيعة: يوميات رزان
مدونتي التقنية العربية: البرمجة مع عبد المنعم
Technical Blog: Abdul Moniem's Thoughts
LinkedIn: Profile
جزاك الله خيرا يا أخي ..
لي بعض الاستفسارات ..
فعلت ذلك ولاحظت عدم وجود ملفات الcs او vb و توجد ملفات الaspx كلها كما هي بأكوادها!.
ولاحظت ايضا عدم كتابة code file= "asdad.cs" في بداية ملف الaspx وهذه في حالة كتابة الاكواد في ملف منفصل .
ماذا كتب بدلا منها لكي يعرف ملف الكود الخاص بها ؟
و ماذا يحدث لو تم كتابة الاكواد في نفس صفحة aspx ؟
و اين ذهبت ملفات cs او vb ؟
و ما هي الملفات التي اقوم برفعها فعلا ؟
انظر هذا شكل الـ Header أو الـ Page Directive لصفحة معينة في أحد المشاريع بعد أمر Publish
وبالمناسبة نوع المشروع عندي Web Application وليس Website
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ManageJobs.aspx.cs" Inherits="GBC.Admin.Views.ManageJobs" MasterPageFile="Admin.master" Theme="Admin" StylesheetTheme="Admin" %>
ولم يتم حذف الـ CodeBehind Property من الـ Page Directive كما ذكرت.
بخصوص العملية التي تحدث:
فهو يتم دمج كل ملفات الأكود في ملف واحد DLL يحتوي على كل الـ Classess الخاصة بكل الصفحات. وعن طريق Inherits Property يمكن معرفة الـ Class المناسب في هذا الـ DLL
أما بخصوص كتابة الكود داخل الصفحات فلم أجربه من قبل لأنه عادة لا يستحب أن تكتب أكواد داخل ملفات الـ Markup حتى وإن كان هذا ممكناً.
مدونة ابنتي الرضيعة: يوميات رزان
مدونتي التقنية العربية: البرمجة مع عبد المنعم
Technical Blog: Abdul Moniem's Thoughts
LinkedIn: Profile
جزاك الله كل خير ..
انا مشروعي web site و هذا الكود في بداية صفحة aspx :
<%@ page title="" language="C#" masterpagefile="~/MasterPage.master" autoeventwireup="true" inherits="AboutUs, App_Web_cqpnwplk" %>
هل يتم عمل كلاس لكل صفحة كود cs او vb ؟
ما اقوم برفعه هي كل الملفات الناتجة ال aspx و dll الموجودة في فولدر الbin ؟
و شكرا لك اخي الكريم على الاهتمام .
diamond5 كتب:جزاك الله كل خير ..
انا مشروعي web site و هذا الكود في بداية صفحة aspx :
<%@ page title="" language="C#" masterpagefile="~/MasterPage.master" autoeventwireup="true" inherits="AboutUs, App_Web_cqpnwplk" %>هل يتم عمل كلاس لكل صفحة كود cs او vb ؟
ما اقوم برفعه هي كل الملفات الناتجة ال aspx و dll الموجودة في فولدر الbin ؟
و شكرا لك اخي الكريم على الاهتمام .
في المشروع من نوع website يوجد بعض الفروقات الجوهرية .. والتي منها أنه لا يوجد Namespaces في الـ Classes ... وأيضاً استخدام CodeFile Property مستخدمة في الـ Websites وليس في الـ Web applications وبالتالي فإن طريقة الـ Compilation تختلف. ولهذا ستجد أن الـ DLLs التي تم إنشائها على ما أتذكر سيكون أسمائها بلا معنى .. عكس الـ Web application.
ولهذا ستجد هذه الخاصية:
inherits="AboutUs, App_Web_cqpnwplk"
والتي تعني أن هذه الصفحة ستبحث عن Class اسمه About Us في الـ DLL المسمى App_Web_cqpnwplk
أما الـ web application يتبع نفس النظام السابق لـ ASP.NET 1.1 فستجد أن مسميات الـ DLLs لها أسماء محددة ومفهومة. ولذلك يساعدك هذا على رفع بعضها دون بعض إذا اقتضت الحاجة فهو أسهل في الـ Deployment على العكس من الـ website.
بخصوص ما تقوم برفعه .. هو رفع كل ملفات الـ ASPX وكل ملفات الـ DLL .. وبهذا ينتهي الأمر.
والله أعلى وأعلم.
تم تعديل هذه المشاركة بواسطة نـــور في 21 أكتوبر 2010 في 17:37
مدونة ابنتي الرضيعة: يوميات رزان
مدونتي التقنية العربية: البرمجة مع عبد المنعم
Technical Blog: Abdul Moniem's Thoughts
LinkedIn: Profile
شكرا لك كثيييييييييييييرا وجزاك الله كل خير ...
يارب يجعله في ميزان حسناتك يارب ,,
وإياك :)
مدونة ابنتي الرضيعة: يوميات رزان
مدونتي التقنية العربية: البرمجة مع عبد المنعم
Technical Blog: Abdul Moniem's Thoughts
LinkedIn: Profile
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…