۱۳۹۱/۰۲/۰۸

ASP.NET MVC #24


مروري بر نمونه سؤالات ASP.NET MVC امتحانات مايكروسافت در چند سال اخير

در قسمت آخر سري ASP.NET MVC بد نيست مروري داشته باشيم بر نمونه سؤالات امتحانات مايكروسافت؛ امتحانات 70-515 و 70-519 كه در آن‌ها تعدادي از سؤالات به ASP.NET MVC اختصاص دارند. در اين سؤالات امكان انتخاب بيش از يك گزينه نيز وجود دارد.


1) شما در حال توسعه يك برنامه‌ي ASP.NET MVC ‌هستيد. بايد درخواست Ajax ايي از صفحه‌اي صادر شده و خروجي زير را از اكشن متدي دريافت كند:
["Adventure Works","Contoso"] 

كدام نوع خروجي اكشن متد زير را براي اينكار مناسب مي‌دانيد؟
a) AjaxHelper 
b) XDocument 
c) JsonResult
d) DataContractJsonSerializer



2) شما در حال طراحي يك برنامه ASP.NET MVC ‌هستيد. محتواي يك View بايد بر اساس نيازمندي‌هاي زير تشكيل شود:
الف) ارائه محتواي رندر شده user controls/partial views به مرورگر
ب) كار انتخاب user controls/partial views مناسب در اكشن متد كنترلر بايد انجام شود
استفاده از كدام روش زير را توصيه مي‌كنيد؟
a) Use the Html.RenderPartial extension method
b) Use the Html.RenderAction extension method
c) Use the PartialViewResult class
d) Use the ContentResult class


3) در حين طراحي يك برنامه ASP.NET MVC، نياز است منطق مديريت استثناهاي رخ داده و همچنين ثبت وقايع مرتبط را در يك مكان يا كلاس مركزي مديريت كنيد. كدام روش زير را پيشنهاد مي‌دهيد؟
a) استفاده از try/catch در تمام متدها
b) تحريف متد OnException در كنترلرها
c) مزين سازي تمام كنترلرها به ويژگي HandleError سفارشي شده
d) مزين سازي تمام كنترلرها به ويژگي HandleError پيش فرض


4) شما در حال توزيع برنامه‌ي ASP.NET MVC خود جهت اجرا بر روي IIS 6.x هستيد. چه ملاحظاتي را بايد مدنظر داشته باشيد تا برنامه به درستي كار كند؟
a) تنظيم IIS به نحوي‌كه تمام درخواست‌ها را بر اساس wildcard‌ خاصي به aspnet_isapi.dll هدايت كند.
b) تنظيم IIS به نحوي‌كه تمام درخواست‌ها را بر اساس wildcard‌ خاصي به aspnet_wp.exe هدايت كند.
c) تغيير برنامه به نحوي‌كه تمام درخواست‌ها را به يك HttpHandler خاص هدايت كند.
d) تغيير برنامه به نحوي‌كه تمام درخواست‌ها را به يك HttpModule خاص هدايت كند.


5) شما در حال توسعه برنامه‌ي ASP.NET MVC هستيد كه در پوشه Views/Shared/DisplayTemplates آن، فايلي به نام score.cshtml به عنوان يك templated helper نمايش سفارشي اعداد صحيح تعريف شده است. مدل برنامه هم مطابق تعاريف زير است:
public class Player
{
   public String Name { get; set; }
   public int LastScore { get; set; }
   public int HighScore { get; set; }
}

در اينجا اگر نياز باشد تا فايل score.cshtml ياد شده به صورت خودكار به خاصيت LastScore در حين فراخواني متد HtmlHelper.DisplayForModel اعمال شود، چه روشي را پيشنهاد مي‌دهيد؟
a) فايل score.cshtml بايد به LastScore.cshtml تغيير نام يابد.
b) فايل ياد شده بايد از پوشه Views/Shared/DisplayTemplates به پوشه Views/Player/DisplayTemplates منتقل شود.
c) بايد از ويژگي UIHint به همراه مقدار score جهت مزين سازي خاصيت LastScore استفاده كرد.
[UIHint("Score")]
d) بايد از ويژگي زير براي مزين سازي خاصيت مورد نظر استفاده كرد:
[Display(Name="LastScore", ShortName="Score")]


6) شما در حال طراحي برنامه‌ي ASP.NET MVC هستيد كه در آن متد Edit كنترلري بايد تنها توسط كاربران اعتبارسنجي شده قابل دسترسي باشد. استفاده از كدام دو گزينه زير را براي اين منظور توصيه مي‌كنيد؟
a) [Authorize(Users = "")]
b) [Authorize(Roles = "")]
c) [Authorize(Users = "*")]
d) [Authorize(Roles = "*")]

7) قطعه كد HTML زير را درنظر بگيريد:
<span id="ref">
<a name=Reference>Check out</a>
the FAQ on
<a href="http://www.contoso.com">
Contoso</a>'s web site for more information:
<a href="http://www.contoso.com/faq">FAQ</a>.
</span>
<a href="http://www.contoso.com/home">Home</a>

قصد داريم به كمك jQuery در span ايي با id مساوي ref، متن تمام لينك‌ها را ضخيم كنيم. كدام گزينه زير را پيشنهاد مي‌دهيد؟

a) $("#ref").filter("a[href]").bold();
b) $("ref").filter("a").css("bold");
c) $("a").css({fontWeight:"bold"});
d) $("#ref a[href]").css({fontWeight:"bold"});