PDA

View Full Version : publish کردن برنامه



hesam_hma
یک شنبه 09 دی 1386, 18:52 عصر
سلام دوستان
سوال : چه فرقی بین Publish کردن و نکردن برنامه است؟ واضحتر بگم ، چه فرقی بین فایلهای برنامه با فایلهایی که بعد از Publish کردن داری هست؟
و اون دایرکتوری Bin که Publish بهت میده و یه فایل Dll توش هست چیه؟
متشکرم

shahab_ksh
یک شنبه 09 دی 1386, 19:03 عصر
میتونید Publish کنید یا نکنید اختیاری

Publish برای انتقال فایلهاتون به سرور

hesam_hma
دوشنبه 10 دی 1386, 01:17 صبح
من بعد از Publish فایلهای برناممو نگاه کردم مثلا Default.aspx و web.config کدها هیچ تغییری نکرده بودند ، یعنی به زبان ماشین تبدیل نشده بودند!

shahab_ksh
دوشنبه 10 دی 1386, 01:52 صبح
اول کامپایل کنید و بعد Publish
فرقش اینه که اگه Publish کنید کدهای شما کامپایل میشه و سرعت برنامتون بالاتر میره و کدهاتون به زبان ماشین تبدیل میشه کسی نمیتونه ببینه که امنیت هم بالا میره

Chabok
دوشنبه 10 دی 1386, 14:04 عصر
با سلام
یک نکته رو خودم حدس زدم . اگه غلط است خواهشا بفرمایید .

من فکر میکنم هنگامی که ما فایل های ASP.net خود را ران میکنیم ایتدا این فایل ها کامپایل می شوند و سپس این فایل های کامپایل شده ذخیره می شوند .
بصورت DLL . و برای استفاده های بعدی همین فایل ها اجرا خواهند شد

چون من در مسیر نصب دات نت فریم ورک یک پوشه Temp دیدم که تمام فایل های پروژه هام در اونجا بود . فقط بصورت کامپایل شده . یعنی همش DLL بود .

من خودم به یک مسئله برخورد کرده ام . و این است که :
اگر کدهام رو تغییر بدم و صفحه رو رفرش کنم چند ثانیه ای طول می کشد تا صفحه جدید بالا بیاد .
این در صورتی است که اگر همین صفحه جدید رو دوباره رفرش کنم سریع میاد بالا .
شاید هم بخاطر کش کردن صفحات باشه . ولی خوب این احتمال رو دادم که کدها همه کامپایل شده و به DLL ها تبدیل می شوند .
سپس این کدها اجرا شده و نتایج رو به ما میدهند .
و فکر میکنم این زمانی که طول می کشد تا صفحه ای که کدهاش جدید است لود شود مربوط به همین ساختن فایل های DLL باشد .

و در اصل Publish کردن سایت همه فایل ها و کلاس ها رو کامپایل میکنه و تبدیل به همون DLL ها میشن که اگر بعد از پابلیش کردن پوشه bin رو یه نگاهی بیندازید این تغییرات مشاهده خواهد شد .

تمامی حرف هایی که نوشتم از روی حدس و گمان بود و هیچ توجیه علمی از نظر خودم ندارم :لبخند:.

برای مثال به تصاویر زیر دقت کنید . مربوط به قبل و بعد پابلیش کردن می باشد .

http://i5.tinypic.com/6x5ydtk.jpghttp://i5.tinypic.com/6x5ydtk.jpghttp://img2.freeimagehosting.net/uploads/b988371bbb.jpg
و محتوای فایل Admin.aspx بعد از Publish شدن :

This is a marker file generated by the precompilation tool, and should not be deleted!موفق و پیروز باشید .

shahab_ksh
دوشنبه 10 دی 1386, 16:35 عصر
من فکر میکنم هنگامی که ما فایل های ASP.net خود را ران میکنیم ایتدا این فایل ها کامپایل می شوند و سپس این فایل های کامپایل شده ذخیره می شوند .


بله در vs 2005 اینطوری اما در 2003 باید اول build میکردید



اگر کدهام رو تغییر بدم و صفحه رو رفرش کنم چند ثانیه ای طول می کشد تا صفحه جدید بالا بیاد .
این در صورتی است که اگر همین صفحه جدید رو دوباره رفرش کنم سریع میاد بالا .
شاید هم بخاطر کش کردن صفحات باشه . ولی خوب این احتمال رو دادم که کدها همه کامپایل شده و به DLL ها تبدیل می شوند .
سپس این کدها اجرا شده و نتایج رو به ما میدهند .


درست حدس زدید کامپایل میکنه