<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>وبلاگ آسیا آی تی &#187; ASP.net</title>
	<atom:link href="https://blog.asiait.ir/category/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c/asp-net/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.asiait.ir</link>
	<description> آی تی &#124; معرفی سایت ها &#124; نقد برسی &#124; آموزش  &#124; دانلود</description>
	<lastBuildDate>Sun, 18 Sep 2016 07:04:56 +0000</lastBuildDate>
	<language>fa-IR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://asiait.ir/?v=4.1</generator>
	<item>
		<title>طراحی سایت با زبان ASP.NET  یا PHP &#8211; تفاوت PHP و ASP.NET</title>
		<link>https://blog.asiait.ir/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%b3%d8%a7%db%8c%d8%aa-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-asp-net-%db%8c%d8%a7-php-%d8%aa%d9%81%d8%a7%d9%88%d8%aa-php-%d9%88-asp-net/</link>
		<comments>https://blog.asiait.ir/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%b3%d8%a7%db%8c%d8%aa-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-asp-net-%db%8c%d8%a7-php-%d8%aa%d9%81%d8%a7%d9%88%d8%aa-php-%d9%88-asp-net/#comments</comments>
		<pubDate>Sat, 11 Apr 2015 07:29:19 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[ASP.net]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[آموزش]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[طراحی وب]]></category>
		<category><![CDATA[وب]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[آیا سایت های بزرگی مانند گوگل، فیسبوک با php برنامه نویسی شده اند]]></category>
		<category><![CDATA[زبان برنامه نویسی فیسبوک]]></category>
		<category><![CDATA[شسح]]></category>
		<category><![CDATA[طراحی سایت با زبان ASP.NET یا PHP - تفاوت PHP و ASP.NET]]></category>
		<category><![CDATA[چه زمانی بهتر است از asp.net استفاده کنیم]]></category>
		<category><![CDATA[چه زمانی بهتر است از php استفاده کنیم]]></category>

		<guid isPermaLink="false">http://blog.asiait.ir/?p=878</guid>
		<description><![CDATA[طراحی سایت با زبان ASP.NET  یا PHP &#8211; تفاوت PHP و ASP.NET تفاوت زبان برنامه نویسی php و سکوی asp.net برای طراحی سایت بحثی بسیار طولانی و پایان ناپذیر است. اکثر شرکت ها طراحی سایت و برنامه نویسانی که یک زبان برنامه نویسی را یاد میگیرند علاقه مند به دفاع کردن از آن زبان هستند ...]]></description>
				<content:encoded><![CDATA[<h2><a href="http://asiait.ir" target="_blank">طراحی سایت</a> با زبان ASP.NET  یا PHP &#8211; تفاوت PHP و ASP.NET</h2>
<p>تفاوت زبان برنامه نویسی php و سکوی asp.net برای <a href="http://asiait.ir" target="_blank">طراحی سایت</a> بحثی بسیار طولانی و پایان ناپذیر است. اکثر شرکت ها <a href="http://asiait.ir" target="_blank">طراحی سایت</a> و برنامه نویسانی که یک زبان برنامه نویسی را یاد میگیرند علاقه مند به دفاع کردن از آن زبان هستند و بعضا دلایل غیر منطقی و غیر علمی برای کار خودشان دارند. علت اینکه گروه آسیا مصمم شد این مقاله را بنویسه دامن زدن به بحث های طولانی و غیر منطقی که بین برنامه نویسان زبان های php و asp.net وجود دارد نیست زیرا شخصا اعتقاد دارم که زبان های برنامه نویسی ابزار هستند و در صنعت نرم افزار نیروی انسانی و تخصص است که حرف اول را می زند نه یک زبان برنامه نویسی. یک برنامه نویس بد با هر زبانی میتواند یک برنامه ضعیف، کند، غیر ایمن و سرشار از باگ را تولید کند و یک برنامه نویس خوب با یک زبان قدیمی نیز می تواند یک برنامه خوب بنویسد.</p>
<p>دلیل اصلی <strong><a href="http://blog.asiait.ir" target="_blank">بلاگ آی تی</a></strong> از نوشتن این مقاله صحبت هایی است که به طور اتفاقی در دو جلسه متفاوتی که داشتم شنیدم، دلایل مطرح شده در دفاع از زبان اسکریپتی php به قدری برای ما عجیب بود که نهایتا مجبور شدم در اینترنت جستجو کرده و به دنبال کشف واقعیت باشیم.</p>
<p>&nbsp;</p>
<p>قبل از اینکه وارد مباحث مربوط به مقایسه این دو زبان بشویم لازم است این نکته را مطرح کنم که من به عنوان برنامه نویس وب بیش از 15 سال تجربه برنامه نویسی دارم و در این مدت با زبان ها و پلتفرم هایی مانند جاوا، php ، asp، و asp.net کار کرده ام و به تمام آنها مسلط هستم.</p>
<p>برخی از مواردی که در دفاع از php مطرح می شوند عبارتند از:</p>
<h2><b>آیا سرعت php از asp.net بیشتر است یا بلعکس ؟</b></h2>
<p>مهم ترین دلیل که برنامه نویسان php برای دفاع از آن مطرح می کنند سرعت آن است و میگویند که سرعت php از asp.net بیشتر است، در حالیکه آزمایشات انجام شده نتیجه کاملا متفاوت را نشان می دهند. از نظر منطقی نیز چنین چیزی امکان ندارد به این دلیل که کدهای خروجی asp.net در سمت سرور تفسیر نمی شوند و به صورت dll هستند و web server در زمان اجرای کدها هیچگونه زمانی برای تفسیر آنها نمی گذارد و با سریعترین زمان ممکن اجرا می شوند. لذا چنین حرفی هیچ پایه و اساس علمی ندارد.</p>
<p>برای بررسی سرعت میان زبان های سمت سرور و مقایسه سرعت php و asp.net مقاله زیر را مشاهده کنید:</p>
<p>مقایسه سرعت php ، asp ، asp.net و cgi</p>
<p>همانطور که در نتایج آزمایش مقاله فوق مشخص است، سرعت asp.net قابل مقایسه با سایر زبان ها و تکنولوژی ها نیست و به مقدار قابل توجهی مخصوصا در زمانی که مقدار داده ها افزایش می یابد و مقیاس سازمانی است سریع تر است.</p>
<h2>
<b>آیا امنیت php بالاتر  از asp است؟</b></h2>
<p>ایمن بودن نرم افزارهای کدباز ( اپن سورس ) یکی از مباحثی است که برخی برنامه نویسان مطرح می کنند. به طور کلی هر سیستمی که افراد زیادی بر روی آن کار کنند و استفاده کنندگان زیادی داشته باشد به مرور تکمیل می شود. اما کدباز بودن نه تنها دلیل بر ایمن بودن نیست بلکه در بسیاری از موارد ممکن است باعث شود که سیستم فوق مورد حمله قرار گرفته و هک شود. به عنوان مثال پلتفرم جوملا که بر پایه php است یکی از ضعیف ترین پلتفرم ها از نظر امنیتی است و هر از چندگاهی شاهد هک شدن نسخه های مختلف آن در اینترنت هستیم.</p>
<p>برخی از مشکلات امنیتی که ممکن است به خاطر برنامه نویسی سایت پیش بیاید عبارتند از:</p>
<p>Remote code execution<br />
SQL injection<br />
Cross Site Scripting (XSS)<br />
Session Hijacking<br />
XSRF</p>
<p>هیچکدام از موارد بالا ارتباطی به زبان برنامه نویسی ندارد و برنامه نویس باید با موارد فوق آشنا باشد تا مشکل امنیتی برای آن بوجود نیاید. ضمن اینکه سیستم های بسیار زیادی در دنیا وجود دارند که با پلتفرم دات نت کار میکنند و اگر این پلتفرم مشکل داشت قطعا هیچ کدام از این شرکت ها به سمت آن نمی رفتند.</p>
<h2></h2>
<h2><b>آیا سایت های بزرگی مانند <a href="http://google.com" target="_blank">گوگل</a>، <a href="http://facebook.com" target="_blank">فیسبوک</a> با php برنامه نویسی شده اند</b></h2>
<h2><b>؟ </b></h2>
<p>پاسخ این سوال کاملا منفی است! سایت های فوق عمدتا از زبان های c++ پایتون و جاوا برای برنامه نویسی سمت سرور خود استفاده می کنند و به هیچ وجه از پلتفرم های اپن سورس مثل php در طراحی بخش های اصلی آنها استفاده نشده است. تنها گوگل برای برخی از سرویس های جانبی خود به طور محدود از زبان php استفاده می کند. تنها سایت پربازدید دنیا که از php استفاده می کرده است سایت یاهو است که آن هم در حال انتقال برنامه های خود به زبان جدید node.js است.</p>
<p>برای مشاهده زبان های استفاده شده در سایت های بزرگ اینترنتی می توانید به لینک زیر مراجعه نمایید:</p>
<h2><a href="http://blog.asiait.ir/asa-content/uploads/2015/04/asp-php.jpg"><img class=" size-medium asa-image-879 aligncenter" src="http://blog.asiait.ir/asa-content/uploads/2015/04/asp-php-300x198.jpg" alt="تفاوت php و asp.net" width="300" height="198" /></a></h2>
<h2><b>اگر ایران از قانون کپی رایت حمایت کند &#8230;.<br />
</b></h2>
<p>در حال حاضر درصد قابل توجهی از سایت های بزرگ اینترنتی بر پایه asp.net طراحی شده اند، سوال اینجاست که مگر کشورهای دیگه از قانون کپی رایت حمایت نمی کنند؟ پس چرا با این وجود استفاده از تکنولوژی دات نت روز به روز در این کشورها رو به افزایش است؟ متاسفانه زمانی که ما میخواهیم هزینه استفاده از یک سیستم را محاسبه کنیم فقط به قیمت خرید آن فکرمیکنیم و این فرهنگ در ما ایرانی ها وجود دارد.</p>
<p>درست است که زبان php یک زبان اپن سورس و رایگان است، اما اگر شما بخواهید یک پورتال اینترنتی را با استفاده از آن طراحی کنید این کار چقدر زمان خواهد برد؟ آیا خروجی پروژه به مقدار کافی مقیاس پذیر خواهد بود؟ آیا قابلیت توسعه و گسترش کافی خواهد داشت؟ اگر هزینه استخدام یک برنامه نویس n تومان در ماه باشد و پروژه php سه ماه طول بکشد و پیاده سازی همان پروژه با asp.net یک ماه زمان بخواهد، عاقلانه خواهد بود که با خرید لایسنس به سمت asp.net برویم یا از سیستم رایگان php استفاده کنیم؟</p>
<p>اگر منطق فوق درست بود، تا کنون تمام کشورهای دنیا از php استفاده می کردند و کسی به سراغ asp.net نمی رفت در حالیکه در عمل می بینیم که چنین نیست.</p>
<p>گرچه سعی کردم بی طرفانه به مقایسه هر دو تکنولوژی فوق بپردازم اما واقعیت این است که پلتفرم asp.net از نظر امکانات، سطح تکنولوژِی و قابلیت هایی که دارد به هیچ وجه قابل مقایسه با زبان اسکریپتی php نیست. استفاده از php تنها زمانی منطقی است که یک اسکریپت رایگان و آماده برای پروژه ای که می خواهید انجام دهید وجود داشته باشد و نوشتن مجدد کد مقرون به صرفه نباشد. از طرف دیگر به دلیل اینکه سرورهای لینوکس از asp.net پشتیبانی نمیکنند و قیمت ارزان تری نسبت به سرورهای ویندوزی دارند، بسیاری از افراد به دلیل صرفه جویی در زمینه هاست به سراغ php می روند، در حالیکه به دلیلی که در بخش قانون کپی رایت ذکر کردم چنین کاری مقرون به صرفه نیست!</p>
<h2><b>چه زمانی بهتر است از php استفاده کنیم؟</b></h2>
<ul>
<li>اگر پروژه ای که میخواهید انجام دهید یک پروژه کوچک است و در مقیاس های بزرگ عملیاتی اجرائی نمیشود php میتواند گزینه خوبی باشد.</li>
<li>اگر اسکریپت های آماده و کدهای آماده برای پروژه فوق به زبان php وجود دارند، گزینه مناسبی است.</li>
<li>اگر سرور شما لینوکس است، از php استفاده کنید.</li>
</ul>
<h2><b>چه زمانی بهتر است از asp.net استفاده کنیم؟</b></h2>
<ul>
<li>اگر پروژه شامل انواع نقش های سیستمی و سطوح دستری مختلف و یک پورتال است از دات نت استفاده کنید</li>
<li>اگر می خواهید از ساختارهای نوین برنامه نویسی مانند MVC استفاده کنید از دات نت استفاده کنید</li>
<li>اگر می خواهید نرم افزار وب شما به صورت شی گرا تولید شود از دات نت استفاده کنید</li>
<li>اگر به دنبال توسعه ساختار و پشتیبانی سیستم در دراز مدت هستند و دید کوتاه مدت به پروژه ندارید از دات نت استفاده کنید</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.asiait.ir/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%b3%d8%a7%db%8c%d8%aa-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-asp-net-%db%8c%d8%a7-php-%d8%aa%d9%81%d8%a7%d9%88%d8%aa-php-%d9%88-asp-net/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ASP.NET    ای اس پی دات نت</title>
		<link>https://blog.asiait.ir/asp-net-%d8%a7%db%8c-%d8%a7%d8%b3-%d9%be%db%8c-%d8%af%d8%a7%d8%aa-%d9%86%d8%aa/</link>
		<comments>https://blog.asiait.ir/asp-net-%d8%a7%db%8c-%d8%a7%d8%b3-%d9%be%db%8c-%d8%af%d8%a7%d8%aa-%d9%86%d8%aa/#comments</comments>
		<pubDate>Sat, 28 Mar 2015 12:21:30 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[ASP.net]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[ASP.NET ای اس پی دات نت]]></category>
		<category><![CDATA[ای اس پی]]></category>
		<category><![CDATA[ای اس پی دات نت]]></category>
		<category><![CDATA[دات نت]]></category>
		<category><![CDATA[زبان بزنامه نویسی]]></category>
		<category><![CDATA[طبان طراحی سایت]]></category>
		<category><![CDATA[طراحی سایت]]></category>

		<guid isPermaLink="false">http://blog.asiait.ir/?p=675</guid>
		<description><![CDATA[ای‌اس‌پی‌دات‌نت (ASP.NET) تعریف : یک چارچوب کاربردی Web است که توسط شرکت مایکروسافت عرضه گردیده تا برنامه نویسان بتوانند برای ساخت سایت‌ های Web ( طراحی سایت ) و برنامه‌های Web پویا وسرویس‌های Web پویا وسرویس‌های Web XML از آن استفاده کنند. این بخشی از زیر ساخت.NET مایکروسافت و جانشینی برای تکنولوژی صفحات سرویس دهنده ...]]></description>
				<content:encoded><![CDATA[<h1><b>ای‌اس‌پی‌دات‌نت</b> (<span lang="en" xml:lang="en">ASP.NET</span>)</h1>
<p><strong>تعریف</strong> : یک چارچوب کاربردی Web است که توسط شرکت مایکروسافت عرضه گردیده تا برنامه نویسان بتوانند برای ساخت سایت‌ های Web ( <strong><a href="http://asiait.ir" target="_blank">طراحی سایت</a></strong> ) و برنامه‌های Web پویا وسرویس‌های Web پویا وسرویس‌های Web XML از آن استفاده کنند. این بخشی از زیر ساخت.NET مایکروسافت و جانشینی برای تکنولوژی صفحات سرویس دهنده فعال (ASP) است. ASP مبتنی بر زبانهای مشترک در حال اجرا است که به برنامه نویسان اجازه می‌دهد کدهای ASP را با استفاده از هر زبان Framework.NET بنویسند.</p>
<p>&nbsp;</p>
<h2><span id=".D9.85.D8.B4.D8.AE.D8.B5.D8.A7.D8.AA" class="mw-headline">مشخصات</span></h2>
<h3><span id=".D9.82.D8.A7.D9.84.D8.A8_.D9.BE.D8.B1.D9.88.D9.86.D8.AF.D9.87_ASPX" class="mw-headline">قالب پرونده ASPX</span></h3>
<p><b>ASPX</b> یک پرونده با قالب متنی است که برای ساخت صفحات وب (ابهام‌زدایی) از آن استفاده می‌شود، و استاندارد پرونده‌های XML را رعایت می‌کند. پرونده ASPX معمولاً شامل نشانه گزاریهای HTML یا اکس‌اچ‌تی‌ام‌ال همچنین نشانه گزاریهای کنترل‌های استاندارد Web و کنترل‌های تعریف شده در معماری ASP.NET است، که توسعه دهنده ها(برنامه نویسان وب) همه محتویات پویا وایستای مورد نیاز را برای ایجاد صفحات Web پویا در آن قرار می‌دهند. علاوه برآن، کدهای پویایی که درسرویس دهندها اجرا می‌شوند، می‌توانند درمحلی دریک صفحه درون یک قطعه قرار بگیرند &#8211;٪&gt; <b>کدهای پویا</b> &lt;٪- که مانند دیگرتکنولوژی‌های توسعه یافته مانند PHP, JSP و ASP است اما این شیوه معمولاً توسط مایکروسافت رد می‌شود مگر به منظور الحاق داده، زیرا زمانیکه صفحه ترجمه می‌گردد درخواست‌های بیشتری وجود دارد.</p>
<p>روشی که توسط مایکروسافت برای رفتاربا کد برنامه پویا پیشنهاد می‌شود، مدل پشتیبانی کد است که این کد را دریک پرونده جداگانه یا ضمیمه متنی به طور ویژه طراحی شده قرارمی دهد. پرونده‌های پشتیبان کد معمولاً چیزهایی را به مفهوم <i>MyPage.aspx.cs</i> یا <i>MyPage.aspx.vb</i> برپایه نام پرونده ASPX نام می‌نهد. (این عمل درمایکروسافت ویژوال استادیو و سایر محیط‌های توسعه یکپارچه به صورت خودکارانجام می‌شود.) زمانیکه ازاین روش برنامه نویسی استفاده می‌کنید، توسعه دهنده کدها را برای پاسخ دادن به رویدادهای مختلف مانند صفحه‌ای که بارگذاری می‌شود، یا کنترلی که برروی آن کلیک می‌شود به جای رویه‌ای که درطول برنامه حرکت می‌کند، می‌نویسد.</p>
<p>&nbsp;</p>
<p><a href="http://blog.asiait.ir/asa-content/uploads/2015/03/asp_.net_.jpg"><img class=" asa-image-676" src="http://blog.asiait.ir/asa-content/uploads/2015/03/asp_.net_-300x225.jpg" alt="asp.net" width="474" height="319" /></a></p>
<h2><span id=".D8.B1.D9.88.D8.B4_.D9.81.D9.86.DB.8C_.D8.AA.D8.B1.D8.AC.D9.85.D9.87" class="mw-headline">روش فنی ترجمه</span></h2>
<p><b>ASP</b> ازیک روش نمایش مرکب ترجمه‌ای استفاده می‌کند. درطول تألیف الگوی(.aspx) پرونده درون قالب کد تدوین می‌شود که یک درخت کنترل (مرکب) ساخته خواهد شد که قالب (ایستا)اصلی را نشان می‌دهد. متن اصلی درون نمونه‌هایی ازکلاس کنترل اصلی می‌رود. کنترل‌های سرویس دهنده توسط نمونه‌هایی ازیک کلاس کنترل ویژه نشان داده می‌شوند. کد آغازین با کد نوشتاری کاربر(معمولاً توسط مجمعی ازکلاس‌های جزئی چندگانه) و نتایج دریک ویژگی کلاس برای صفحه ترکیب شده‌است. صفحه مانند ریشه <b>درخت کنترل</b> مضاعف می‌شود.</p>
<p>درخواست‌های واقعی برای یک صفحه درمیان مرحله‌ای ازمراحل پردازش می‌شود. ابتدا، درطول مراحل بارگزاری نمونه‌ای ازکلاس صفحه ساخته می‌شود وکد بارگزاری اجرا می‌گردد. این حاصل درخت کنترل اصلی است که درحال حاضرمعمولاً توسط روش‌هایی ازمراحل پیگیری در صفحه اداره می‌شود. همانند هرگره دردرخت، یک کنترل نشان داده شده‌است، مانند نمونه‌ای ازیک کلاس که می‌تواند ساختاردرخت را به خوبی با دستکاری خصوصیات/روش‌های گره‌های منحصربه‌فرد تغییرمی دهد. نهایتاً درطول مرحله ترجمه یک دیدارگربرای دیدن هرگره درخت استفاده شده‌است. هرگره برای ترجمه خود با استفاده از روش‌هایی ازناظردرخواست می‌کند. کد HTML منتج برای سرویس گیرنده (Client) فرستاده می‌شود.</p>
<p>پس ازپردازش درخواست نمونهٔ کلاس صفحه دورانداخته می‌شود وبا آن درخت کنترل تکمیل می‌شود.</p>
<h2><span id=".D9.BE.D8.B1.D9.88.D9.86.D8.AF.D9.87.E2.80.8C.D9.87.D8.A7.DB.8C_.D8.AF.DB.8C.DA.AF.D8.B1" class="mw-headline">پرونده‌های دیگر</span></h2>
<p>سایرپرونده‌های الحاقی با نسخه‌های متفاوت ASP شامل: ascx; کنترل‌ها کاربرWEB: کنترل‌های معمول که درون صفحات WEB جای داده می‌شوند.</p>
<dl>
<dt>ashx</dt>
</dl>
<p>دیگر مجریان HTTP</p>
<dl>
<dt>asmx</dt>
</dl>
<p>صفحات سرویس دهنده WEB</p>
<dl>
<dt>axd</dt>
</dl>
<p>زمانیکه درweb.config، درخواست trace.axd فعال می‌شود، خروجی‌های سطح کاربردی ترسیم می‌شوند. همچنین برای رسیدگی کننده axd منبع WEB مخصوص استفاده می‌شود که به توسعه دهنده‌های مؤلفه/ کنترل اجازه می‌دهد تا بسته یک کنترل/مؤلفه را با عکس‌ها، سند، قالب آبشاری صفحات وغیره کامل کند. برای گسترش دریک پرونده انفرادی (یک مجمع)</p>
<dl>
<dt>مرورگر</dt>
<dd>مرورگر پرونده‌های ممکن را درقالب XML ذخیره می‌کند که درنسخه ۳ از ASP.NET ۲ که شامل بسیاری ازاینها یه صورت پیش فرض است، معرفی می‌گردد تا مرورگرهای WEB مشترک را پشتیبانی کند. این‌ها مشحص می‌کنند که مرورگرها کدام توانایی‌ها را دارند، بنابراین ASP.NET ۲ می‌تواند به صورت خودکاربرطبق نتیجه خروجی خود سفارشی و بهینه سازی شود. پرونده‌های مرورگرمخصوص برای دریافت (دانلود) رایگان برای استفاده دردسترس هستند. برای مثال، W3C Validator، بطوریکه این به شکل صحیح استانداردهای تاییدی را نمایش می‌دهد.</dd>
<dt>config</dt>
<dd>اweb.config تنها پرونده مخصوص برنامه‌های WEB است که توسط قرارداد گسترش دهنده استفاده می‌گردد (به همین نحو machine.config درتمامی سرویس دهنده WEB وتمامی برنامه‌های درون آن اثرمی گذارد). اگر چه ASP.NET امکانات را برای ساخت واستفاده سایرپرونده‌های config فراهم می‌کند. این‌ها درقالب XML ذخیره می‌شوند بنابراین اجازه می‌دهند پیکربندی تغییرکند تا به سادگی ساخته شود.</dd>
<dt>cs/vb</dt>
<dd>درASP.NET ۲ هرپرونده ازپرونده‌های cs/vb درون پوشه App_Code قرارمی گیرد که به صورت پویا تألیف می‌گردد و در سرتاسر برنامه قابل دسترس است.</dd>
</dl>
<p>master: صفحات اصلی؛ مطرح شده درنسخه ۲٫۰</p>
<dl>
<dt>sitemap</dt>
<dd>پرونده‌های پیکربندی نقشه سایت</dd>
<dt>skin</dt>
<dd>پرونده‌های پوستهٔ زمینه</dd>
<dt>resx</dt>
<dd>پرونده‌های منبع برای بین‌المللی ومحلی کردن. پرونده‌های منبع می‌توانند سراسری (به طور مثال پیام‌ها) یا محلی باشند که هریک معنی‌های خاصی برای یک aspx یا ascx یا پرونده دارند.</dd>
<dt>dbml</dt>
<dd>(نسخه ۳٫۵) لینک (برنامه‌نویسی) برای پرونده کلاس‌های داده SQL</dd>
</dl>
<h3><span id=".D8.B3.D8.A7.D8.AE.D8.AA.D8.A7.D8.B1.D9.81.D9.87.D8.B1.D8.B3.D8.AA_.D8.B1.D8.A7.D9.87.D9.86.D9.85.D8.A7" class="mw-headline">ساختارفهرست راهنما</span></h3>
<p>به طورکلی ساختار فهرست ASP.NET می‌تواند توسط اولویت‌های توسعه دهنده تعیین شود. صرف نظرازتعداد محدودی از نام‌های ذخیره شده، سایت می‌تواند هر تعداد از پوشه‌ها را پشتیبانی کند. ساختار معمولاً انعکاس مستقیمی ازurlها است. هرچند ASP.NET قابلیت‌ها را برای جداسازی درخواست در هرمرحله از طول پردازش فراهم می‌کند، توسعه دهنده مجبورنیست درخواست‌ها را درسرتاسر یک برنامه مرکزی یا کنترل گر پیشین تبدیل کند.</p>
<p>نام‌های پوشه‌های ویژه:</p>
<dl>
<dt>App_Browsers</dt>
<dd>پرونده‌های معرفی مرورگر مخصوص سایت را نگه می‌دارد.</dd>
<dt>App_Code</dt>
<dd>پوشه «کدهای خام» است. سرویس دهنده ASP.NET به صورت خودکارپرونده ها(وزیرفهرست‌ها)ی درون این پوشه را درون انجمنی که درهرصفحه از سایت قابل دسترسی است، تألیف می‌کند. App_Code معمولاً برای کد انتزاعی دستیابی داده، کد نمونه وکد تجاری استفاده خواهد شد. همچنین همه مشحصات سایت اجرا کننده http و بخش‌های جدا و پیاده سازی سرویس وب در این پوشه می‌روند. مانند دیگران، توسعه دهنده می‌تواند برای فراهم سازی استفاده از App_Code یک مجمع جدا را با کدهای از پیش تالیف شده انتخاب کند.</dd>
<dt>App_Data</dt>
<dd>پوشه پیش فرض برای پایگاه‌های داده ازقبیل پرونده‌های.mdb در access وپرونده‌های.mdb درsql server. این پوشه معمولاً تنها قابلیت ویرایش توسط یک برنامه را دارد.</dd>
<dt>App_LocalResources</dt>
<dd>شامل پرونده‌های منبع متمرکز برای صفحات منحصربه‌فرد سایت. به طور مثال پرونده‌ای که CheckOut.aspx.fr-FR.resx نامیده می‌شود، منابع متمرکزرا برای نسخه فرانسوی صفحات CheckOut.aspx نگه می‌دارد. زمانیکه فرهنگ رابط کاربر برای فرانسه تنظیم می‌شود، ASP.NET به طورخودکاراین پرونده را برای این شرایط یافته و مورد استفاده قرارخواهد داد.</dd>
<dt>App_GlobalResources</dt>
<dd>پرونده‌های resx را با منبع محلی«متمرکز» قابل دسترس برای هرصفحه سایت نگه می‌دارد. این جایی است که توسعه دهنده ASP.NET نوعاً پیام‌های متمرکز را که برای بیش ازیک صفحه مورد استفاده قرارمی گیرد، ذخیره می‌کند.</dd>
<dt>App_Themes</dt>
<dd>زمینه‌های متنوع «دیگر» سایت را نگه می‌دارد.</dd>
<dt>App_WebReferences</dt>
<dd>پرونده‌های اکتشافی و پرونده‌های زبان توصیف خدمات وب را برای ارجاع به سرویس وب که درسایت مورد استفاده قرارمی گیرند، نگه می‌کند.</dd>
</dl>
<h2><span id=".DA.A9.D8.A7.D8.B1.D8.A7.DB.8C.DB.8C" class="mw-headline">کارایی</span></h2>
<p>اهداف ASP ایجاد کارایی بر روی سایرفناوری‌های مبتنی بر متن (شامل ASP قدیمی) توسط تالیف کد سمت سرویس دهنده به یک یا بیشتر، از پرونده‌های DLL روی سرویس دهنده WEB است. این تآلیف به صورت خودکاراولین باری که یک صفحه درخواست می‌شود اتفاق می‌افتد. (که سبب می‌شود توسعه دهنده احتیاجی به انجام یک مرحله تألیف جداگانه برای صفحات نداشته باشد.) این ویژگی، سهولت توسعه ارائه توسط زبان‌های متنی را با نشان دادن کارایی برای تألیف دودویی فراهم می‌کند. به هرحال، تألیف می‌تواند سبب یک تأخیرقابل ملاحظه برای کاربرWEB زمانیکه صفحه جدیداً ویرایش «نشر» شده را برای اولین باردرخواست می‌شود، شود.</p>
<p>ASPX وسایرپرونده‌های منبع دریک میزبان مجازی برروی یکی از سرویس‌های اطلاعاتی اینترنت جای دارد (یا سایرسرویس دهنده‌های سازگار؛ درزیرسایرپیاده سازی‌ها را ببینید.) اولین باری که یک سرویس گیرنده صفحه‌ای را درخواست می‌کند، چارچوب کاری.NET پرونده(ها) را درون یک انجمن.NET تجزیه وتألیف کرده و پاسخ را ارسال می‌کند. درخواست‌های بعدی توسط پرونده‌های DLL انجام می‌شوند. به صورت پیش فرض به محض اولین درخواست ASP.NET سایت را بدون ایراد دردسته‌ای متشکل از۱۰۰۰ پرونده تألیف خواهدکرد. اگر به دلیل بروز مشکلی تالیف به طول انجامد، که در این حالت اندازه دسته یا راهبرد تالیف پیچیده بوده.</p>
<p>همچنین توسعه دهنده‌ها می‌توانند تألیف مقدماتی خودشان را قبل ازگسترش انتخاب کنند، که به منظور رفع احتیاج برای تألیف به موقع دریک محیط تولید می‌باشد.</p>
<h2><span id=".DA.AF.D8.B3.D8.AA.D8.B1.D8.B4" class="mw-headline">گسترش</span></h2>
<p>مایکروسافت بعضی ازچارچوب‌های کاری الحاقی متصل شده درون <b>ASP.NET</b> را منتشرمی سازد وقابلیت تابعی آن را توسعه می‌دهد. بعضی ازآنها:</p>
<dl>
<dt>ASP.NET AJAX</dt>
<dd>گسترش با مؤلفه‌های ضلع سرویس گیرنده همچنین ضلع سرویس دهنده برای نوشتن صفحات ASP.NET که قابلیت AJAX را متصل می‌کند.</dd>
<dt>ای‌اس‌پی‌دات‌نت ام‌وی‌سی</dt>
<dd>گسترش تألیف صفحات ASP.NET با استفاده ازمعماری MAV.</dd>
</dl>
<h2><span id=".D9.85.D9.82.D8.A7.DB.8C.D8.B3.D9.87_ASP.NET_.D8.A8.D8.A7_ASP_.D9.82.D8.AF.DB.8C.D9.85.DB.8C" class="mw-headline">مقایسه ASP.NET با ASP قدیمی</span></h2>
<p>ASP تلاش می‌کند تحول توسعه دهنده‌ها را ازتوسعه کاربرد ویندوز تا توسعه WEB توسط ارائه قابلیت ساخت صفحات مرکب از کنترل‌ها همانند یک رابط کاربری ویندوزساده نماید. یک کنترل WEB ازقبیل یک Button یا یک Label دربسیاری ازسبک‌ها همانند همتای ویندوزخودش عمل می‌کند. کد می‌تواند خصوصیات وپاسخ خود را به رویدادهایش ارجاع دهد. کنترل‌ها معلومات«فوت و فن» ترجمه خود را دارند: درحالی که کنترل‌های ویندوزخودشان را برروی پرده ترسیم می‌کنند، کنترل‌های WEB قطعاتی ازHTML وجاوااسکریپت را تولید می‌کنند که بخشی ازفرم صفحه حاصل را به مرورگرکاربرنهایی می‌فرستد.</p>
<p>ASP.NET برنامه نویس را به توسعه کاربردها با استفاده ازنمونه رابط کاربرگرافیکی رویدادی(مدل event-driven GUI) وسریعترازمحیط‌های سندی مرسوم درWEB مانند ASP و PHP تشویق می‌کند. چارچوب کاری تلاش می‌کند فناوری‌های موجود از قبیل JAVASCRIPT را با مؤلفه‌های درونی همانند حالت دید برای به دست آوردن حالت پایدار«درخواست درونی» درمحیط WEB نا متمرکزاصلی ترکیب کند. سایرتفاوت‌های مقایسه‌ای ASP قدیمی هستند:</p>
<p>سایرتفاوت‌های مقایسه‌ای ASP قدیمی هستند:</p>
<ul>
<li>کد تألیف شده سبب اجرای سریع تر برنامه‌هایی همراه با به دام انداختن خطاهای زمان طراحی بیشتر درحین توسعه می‌شود.</li>
<li>عمدتاً با استفاده از مستثنی کردن به‌وسیلهٔ قالب Try-Catch مدیریت خطاهای زمان اجرا را بهبود می‌بخشد.</li>
<li>شباهت به کاربردهای ویندوزی ازقبیل کنترل‌ها ورویدادها، که سبب ایجاد امکان توسعه رابط‌های کاربردی توانمند می‌شود که سابقاً تنها درمیزکاریافت می‌شد.</li>
<li>مجموعه وسیعی ازکنترل‌ها و کابخانه‌های کلاس اجازهٔ ساخت سریعتر برنامه‌های را می‌دهد، بعلاوه کنترل‌های تعریف شده توسط کاربر همچون منوها، اجازه می‌دهد که معمولاً از قالب‌ها استفاده شود. طراحی این کنترل‌ها روی صفحه آسانتراست زیرا اغلب آنها می‌توانند دربیشترویرایشگرها به صورت بصری عمل کنند.</li>
<li>ASP.NET دارای قابلیت استفاده هم زمان از چند زبان شناسایی شده در VB.NETمی باشد که اجازه می‌دهد تا صفحات WEB نوشته شوند با VB.NET و C# و J# و غیره.</li>
<li>توانایی Cache شدن تمام صفحه یا فقط بخشی ازآن برای بهبود نمایش.</li>
<li>توانایی استفاده ازمدل کد پشتیبان برای جداسازی منطق کار از ارائه.</li>
<li>اگرهرکاربرASP.NET درحافظه نفوذ کند، مجری ASP.NET میزبان دامنهٔ برنامهٔ دارای خطا را از بین می‌برد و برنامه را مجدداً راه اندازی می‌کند.</li>
<li>حالت جلسه درASP.NET می‌تواند دریک پایگاه داده SQL Server یا دریک پردازش جداگانه در حال اجرا برروی دستگاه ساده مانند سرویس دهنده WEB یا یک ماشین متفاوت ذخیره می‌شود. زمانیکه سرویس دهندهWEB مجدداً راه اندازی می‌شود یا پردازش کننده ASP.NET بازیافت می‌شود، مقادیر راه‌های جلسه از بین نمی‌رود.</li>
<li>نسخه‌های قبلی ASP.NET (1.۰ and ۱٫۱) به دلیل مغایرت با استانداردهای تاییدی مورد انتقاد بودند. HTML و جاوااسکریپت‌های تولید شده به مرورگرسرویس گیرنده فرستاده می‌شدند که همیشه در برابر استانداردهای W3C/ECMA تایید شده نبودند. بعلاوه گاهی اوقات چارچوب کاری مرورگر خصایص را نا درست تشخیص می‌دهد و یا مرورگرهای WEB، به غیر از IE ساخته شده توسط مایکروسافت مانند نسخه‌های قبلی، HTML/JAVASCRIPT بازگردانی شده به این سرویس گیرنده‌ها را با بعضی از خصایص از بین رفته و یا بعضی اوقات شکسته و یا ناقص شناسایی می‌کنند.</li>
<li>کنترل‌های سرویس دهندهWEB: این‌ها کنترل‌های معرفی شده توسط ASP.net برای فراهم سازی رابط کاربری برای وب فرم هستند. این کنترل‌ها، کنترل‌ها ی مدیریت شده هستند و کنترل‌های WYSIWYG هستند. (چیزی که می‌بینید چیزی است که به دست آورده‌اید.«نمایش اطلاعات درحالت چاپ شدنی»)</li>
</ul>
<h2><span id=".D9.85.D8.B9.D8.A7.DB.8C.D8.A8_ASP" class="mw-headline">معایب ASP</span></h2>
<p>صفحات سرویس دهنده فعال قدیمی (ASP) وASP.NET می‌توانند درکنار یکدیگر در یک برنامه <a href="http://asiait.ir" target="_blank">WEB</a> اجرا شوند. این رویکرد به توسعه دهنده اجازه می‌دهد برنامه‌ها را به آهستگی جا به جا کند بجای آنکه همه آنها را یک باره تغییرحالت دهد. درIIS ۶٫۰ وقبل ازآن، صفحاتی که با نسخه‌های متفاوتی ازچارچوب کاری ASP نوشته می‌شوند نمی‌توانستند حالت جلسه را بدون استفاده ازکتابخانه‌های مشخص ثابت تقسیم کند. این ایراد درASP.NET وجود ندارد و برنامه‌های ASP درکنار یکدیگر بر روی IIS ۷ اجرا می‌شود. در IIS ۷، نمونه‌ها می‌توانند درخطوط مجتمع اجرا شوند که اجازه می‌دهد تا نمونه‌ها درهرزبانی نوشته شود، تا برای هر درخواستی قابل نمایش گردد.</p>
<p>دربرخی موارد در زمان اجرای <strong>ASP.NET</strong> پردازش عامل در حلقه می‌افتد. (به طور مثال اگرآن بدون توجه «بی احتیاط» بیاید یا اگرهرکاربرد خارج از کنترل اجرا شود، سبب می‌شود که پردازش عامل بیش از ۶۰ درصد از رم موجود را استفاده کند) آن همچنین می‌تواند در شرایطی که تعداد معینی ازدرخواست‌ها ارسال می‌شود، اتفاق بیفتد برای مثال در یک سیکل زمانی. دراین حالات اگربرنامه برای استفاده از جلسه داخلی تنظیم شده باشد، ممکن است کاربران حالت جلسه را ازدست بدهند «گم کنند». اگربرنامه به حالت جلسه برای ذخیره کردن اطلاعات اعتبار سنجی وابسته باشد، و برنامه با استفاده ازجلسات درون پردازشی پیکربندی شود، ممکن است در صورتی که پردازش درحلقه بیفتد ارتباط کاربر قطع شود.</p>
<p>نشانه‌هایی که ASP.NET ۲٫۰ تولید می‌کند توسط W3C تایید شده‌اند. اما این نکته حائز اهمبت است که ایا این افزایش قابل دسترسی است؟ یکی از این مزایا از یک لحاظ صفحات اکس‌اچ‌تی‌ام‌ال + نمایش <a href="http://blog.asiait.ir/category/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C/css/" target="_blank">CSS</a> است. کنترل‌های متعدد از قبیل کنترل‌های ورود و کنترل‌های چند مرحله‌ای، به صورت پیش فرض از جداول <a href="http://blog.asiait.ir/category/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C/html/" target="_blank">HTML</a> استفاده می‌کنند. مایکروسافت هم اکنون به سمت طرقی می‌رود که این مشکل را به وسیله انتشار کنترل‌های سازگار کنندهٔ ASP.NET 2.۰ CSS حل کند. به طور مثال افزودنی‌های رایگان که نشانه‌هایی مطابق با اکس‌اچ‌تی‌ام‌ال+CSS در دسترس تولید می‌کنند. به هر حال برخی از کنترل‌ها هنوز به جاوااسکریپت استناد می‌کنند.</p>
<h2><span id=".D8.A7.D8.A8.D8.B2.D8.A7.D8.B1.D9.87.D8.A7.DB.8C_.D8.AA.D9.88.D8.B3.D8.B9.D9.87" class="mw-headline">ابزارهای توسعه</span></h2>
<p>برخی ازبسته‌های نرم‌افزاری دردسترس که برای توسعه کاربردهای ASP.NET وجود دارند:</p>
<ul>
<li>Microsoft Expression Web بخشی ازمجموعه کاربردی Microsoft Expression Studio</li>
<li>Visual Studio.NET برای (for ASP.NET 1.x)</li>
<li>ASP.NET Web Matrix (برای ASP.NET 1.x؛ اکنون کمتر پشتیبانی می‌شود: جایگزین شده توسط Visual Web Developer 2005 Express Edition مستقل)</li>
<li>Visual Web Developer 2005 Express Edition یا Visual Studio ۲۰۰۵ (برای ASP.NET 2.۰)</li>
<li>Visual Studio ۲۰۰۸ (برای ASP.NET 3.۵)</li>
<li>Macromedia HomeSite ۵٫۵ (برای برچسب‌های ASP)</li>
<li>Microsoft SharePoint Designer 1۲</li>
<li>Delphi 2006</li>
<li>MonoDevelop (مستقل«رایگان» /کد باز)</li>
<li>SharpDevelop (مستقل«رایگان» /کد باز)</li>
<li>Adobe Dreamweaver</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.asiait.ir/asp-net-%d8%a7%db%8c-%d8%a7%d8%b3-%d9%be%db%8c-%d8%af%d8%a7%d8%aa-%d9%86%d8%aa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
