با سلام
به دلیل حل مشکلات و مسائلی که کاربران جهت Upload و نصب برنامه های ASP.net بر روی Host با آنها مواجه می شوند تصمیم بر آن شد تا در این تاپیک کلیه این مسائل مطرح و بررسی شود .
از کلیه دوستان دعوت می شود مطالب و تاپیک های مفیدی که قبلاً در این راستا مطرح شده است را توسط پیام خصوصی ارسال کنند تا در این تاپیک مورد استفاده قرار بگیرند .
با تشکر
*************
جهت نصب یک برنامه 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 منتشر می کند (مرسوم نیست)
Enable strong naming on precompiled assemblies
توضیح مختصر : جهت حصول اطمینان از هویت واقعی assembly ها از این گزینه استفاده می شود.
مطالعه بیشتر:
https://barnamenevis.org/showthread.php?85566
http://p2p.dotnetsource.com/Default.aspx?g=posts&t=676
http://msdn.microsoft.com/en-us/library/wd40t7ad.aspx
http://ondotnet.com/pub/a/dotnet/200...ongnaming.html
پس از پایان مراحل 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 تازه و جدید و اعمال ساختارها بر روی آن
معایب :
مراحل کار سخت و اذیت کننده است
در صورتی که محیط مدیریت MSSQL Management Studio را بر روی سیستم خود نصب نکرده اید ، پیشنهاد می شود نسخه Express2005 ServicePack 4 آن را از آدرس زیر دریافت کرده و نصب کنید (حجم حدود 43 مگابایت)
http://microsoft.com/downloads/en/de...4-456ee9dc3764