PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : تبدیل فایل aspx به dll یا ...



shojaee.mohsen
January 18th, 2013, 00:11
با سلام
من یک برنامه با asp.net پیاده سازی کردم که این برنامه رو سروری که داخل خود شرکت هست نصب میشه چطوری میتونم سورس کد های که نوشتم (فایل های aspx) را تبدیل به dll یا ... کنم تا کسی که به سرور دسترسی داره نتونه از سورس کد ها استفاده کنه
اگر لطف کنید و راهنماییم کنید ممنون میشم

paya-sms
January 19th, 2013, 08:35
سمت اول خوب اینم اولین پارت:

جهت نصب یک برنامه ASP.net در host کافیست که کدهای برنامه و پایگاه داده به host منتقل شوند و اتصال بین آن ها به صورت صحیح برقرار شود .
Upload کدها به دو صورت امکان پذیر است :

می توان کدها را بدون تغییر و به صورت Source به host منتقل کرد.مشکل این روش امنیت کدها است و توصیه نمی شود.
همچنین جهت اجرا نیاز به Compile شدن دارند و در این حالت افت سرعت رخ می دهد .

روش دیگر Publish کردن برنامه است که باعث می شود کدها بصورت Precompiled تحت فایل های DLL منتشر شوند.
در این روش کدها به صورت عادی قابل رؤیت و قابل تغییر نیستند . همچنین سرعت اجرای بالاتری نسبت به روش قبل دارند .

جهت Publish کردن پروژه در این روش پس از باز کردن پروژه در محیط Visual Studio از منوی Build گزینه Publish web site را انتخاب کرده (و یا در پنجره Solution Explorer روی عنوان پروژه کلیک راست کرده و گزینه Publish web site را انتخاب کنید)

*****در اینجا عکس شماره یک پیوست رو ببینید*****




در پنجره Publish Web Site گزینه های زیر مشاهده می شوند :
Allow this precompiled site to be updatable
تیک کردن این گزینه باعث می شود کدهای فایل های ASPX,ASCX,… بصورت کد متنی باقی بمانند و قابل تغییر باشند . ولی فایل های Codebehind و App_Code بصورت DLL ذخیره خواهند شد .(پیشنهاد نمی شود)
تیک نکردن آن تمامی کدها را بصورت فایل DLL ذخیره می کند و فایل های ASPX و ... که تولید می شوند دارای محتوای خالی یا چنین عبارتی هستند :
This is a marker file generated by the precompilation tool, and should not be deleted!

Use fixed naming and single-page assemblies
تیک کردن این گزینه باعث می شود هر صفحه در قالب یک DLL مجزا منتشر شود .
مزیت آن بروز رسانی ساده فایل ها پس از تغییرات است . عیب آن زیاد شدن فایل های DLL پس از انتشار است .
تیک نکردن این گزینه باعث می شود صفحات و فایل های هر پوشه در قالب یک DLL منتشر شوند .

Emit Debug information
تیک کردن آن اطلاعات Debug پروژه را در قالب فایل های pdb در پوشه bin منتشر می کند (مرسوم نیست)




پس از پایان مراحل publish باید این فایل ها را به host انتقال داد .این فایل ها باید در پوشه های اصلی host (که اصولاً httpdocs و یا wwwroot نام دارند) کپی شود .
نکته : در صورتی که قرار است در یک زیر شاخه نصب شود (مانند : site.com/cms) باید پوشه مورد نظر را از نوع virtual directory تعریف کرد .
این فایل ها را می توان توسط ftp و یا کنترل پنل host آپلود کرد .

(راهنمایی در مورد استفاده از Control Panel ها در پست های بعدی توضیح داده خواهد شد)

مرحله بعدی : انتقال پایگاه داده MSSQL

دو روش مرسوم جهت انتقال MSSQL DB عبارتند از :
ایجاد Backup از DB و Restore کردن در host
مزایا :
سهولت
فایل backup حاوی کلیه ساختارها اعم از Table,View,SP,… و همچنین Data های موجود در DB است
معایب :
حجم بالای فایل backup

اجرای Script های تولید Table ها و StoredProcedure ها بر روی host
مزایا :
ایجاد یک DB تازه و جدید و اعمال ساختارها بر روی آن
معایب :
مراحل کار سخت و اذیت کننده است
----------------------------------------------------------------------------------- منبع
تاپیک آموزش Upload و نصب برنامه Asp.net و پایگاه داده MSSQL در Host - انجمن گروه آشیانه - آموزش امنیت و راه های مقابله با هک (http://ashiyane.org/forums/showthread.php?t=46524)

aspmaker
January 22nd, 2013, 19:58
عذر میخوام که نبش قبر می کنم...
لازم دونستم موضوعی رو برای دوستان توضیح بدم.
شما فایل Aspx رو نمیتونید به dll تبدیل کنید (حداقل من تا حالا همچین چیزی رو نشنیدم!) مگر اینکه از ابتدا اون فرآیندی که در صفحه مورد نظرتون احتیاج دارید رو به صورت وب سرویس بنویسید و پس از Build برنامه، اون رو توی صفحاتی که لازم دارید استفاده کنید(مثال: Using system.data)!
در ضمن باید بگم اگر سورستون رو با برنامه های Obfoscator مخصوص asp.net انکد نکنید، تمام سورس تون با برخی برنامه ها قابل بازیافت هست!!
همچنین توجه داشته باشید که به دلیل Server Side بودن ASP.NET تنها مدیر سرور توانایی دسترسی به سورس ها رو حواهد داشت پس می تونید به روی این بخش متمرکز باشید.


موفق باشید

paya-sms
January 22nd, 2013, 21:24
عذر میخوام که نبش قبر می کنم...لازم دونستم موضوعی رو برای دوستان توضیح بدم.
شما فایل Aspx رو نمیتونید به dll تبدیل کنید (حداقل من تا حالا همچین چیزی رو نشنیدم!)
موفق باشید

در توضیح بالا که داده شده است ، این کار انجام میگردد.

aspmaker
January 22nd, 2013, 22:04
بنا بر پست اول:

من یک برنامه با asp.net پیاده سازی کردم که این برنامه رو سروری که داخل خود شرکت هست نصب میشه
استنباطم بر این بود که این فرد اطلاعات کافی برای کار با Visual Studio و پابلیش سایت رو داره که تونسته برنامه رو روی سرور ببره، لذا پاسخی که گذاشتم درست محسوب میشه.

همچنین بنابر پست اول:

چطوری میتونم سورس کد های که نوشتم (فایل های aspx) را تبدیل به dll یا ...
در این حالت پاسخی که شما ارسال فرمودید صحیح و به جا هست.

نتیجه:
هم پاسخ من درست هست، هم پاسخ شما. فقط پاسخ ها از دو دیدگاه متفاوت بوده!

پی نوشت:

شما فایل Aspx رو نمیتونید به dll تبدیل کنید (حداقل من تا حالا همچین چیزی رو نشنیدم!)
منطور بنده از این جمله که ظاهراً خوب بیان نکردم، این بوده که به عنوان مثال در wwwroot نمی شود به جای Deault.aspx فایل Default.dll (منظور فایل با ساختار اجرایی هست نه تغییر نام با استفاده از روشهای Url Rewriting و یا Routing) رو قرار بدیم.