• ASP.NET Core 1 – قسمت نهم
ASP.NET Core 1 – قسمت نهم
1395/01/27 - 15:54:30 // MVC 5 & 6 // 0 نظر // 4218 بازدید

یکی از قابلیتهایی که هر پروژه وب نیاز دارد ، توانایی مدیریت و کار با فایلهاست . فایلهایی مشابه Java Script ، تصاویر ، فایلهای CSS و .... که در هر حال حاضر این پروزه کوچک که ساخته ایم ، توانایی آنرا ندارد . در این قسمت به صورت مختصر سعی میکنیم این توانایی را در پروژه ایجاد کنیم . همانطور که قبلن گفتیم ، محتوای Static باید در WWWROOT فولدر قرار گیرد . خوب پس به فولدر WWWROOT یک HTML فایل اضافه میکنیم .

بسمه تعالی

ASP.NET Core 1 قسمت نهم

یکی از قابلیتهایی که هر پروژه وب نیاز دارد ، توانایی مدیریت و کار با فایلهاست . فایلهایی مشابه Java Script ، تصاویر ، فایلهای CSS و .... که در هر حال حاضر این پروزه کوچک که ساخته ایم ، توانایی آنرا ندارد .

در این قسمت به صورت مختصر سعی میکنیم این توانایی را در پروژه ایجاد کنیم . همانطور که قبلن گفتیم ، محتوای Static باید در WWWROOT فولدر قرار گیرد . خوب پس به فولدر WWWROOT یک HTML فایل اضافه میکنیم .

 

 

همانطور که مشاهده میکنید از قسمت Template عبارت HTML را جستجو کرده و بعد از انتخاب نوع HTML از لیست و نامگذاری فایل به نام Index.Html میتوان با زدن ADD فایل را ایجاد کرد .

خوب یک متن تک خطی درون فایل بنویسید تا به عنوان محتوا در صفحه داشته باشید .

 
 

خوب اگر پروزه را اجرا و در URL عبارت Index.Html را اضافه کنید ، باز با پیام خطا روبرو خواهید شد . علت این است که در Middle Ware هیچ تصمیم گیرنده و مدیریت کننده ای برای سیستم فایل وجود ندارد . خوب اجازه بدهید با هم این مشکل را حل کنیم .

در ابتدا باز باید یک Nuget Package جدید به پروزه ADD کنیم .

در Nuget به دنبال microsoft.aspnet.staticfiles بگردید و آنرا به پروزه ADD کنید .

خوب اگر به درستی این Package به پروژه اضافه شود ، دیگر به سادگی میتوان در Middle Ware از آن استفاده کرد . الان دیگر وقت استفاده از تکه کد app.UseStaticFiles(); میباشد . با همین خط کد ساده Middle Ware نسبت به محتوای Static درون پروزه حساس بوده و خواهید دید که با Browse کردن Index.HTML نتیجه به چه شکل خواهد شد .

 
 
 

خوب از اینجا دیگر هر فایل Static که درون WWWROOT قرار گیرد ، قابلیت دسترسی خواهد داشت .

اگر بخواهیم Index.Html را صحفه Default پروژه قرار دهیم و وضعیتی مشابه آنچه در IIS هم وجود دارد ایجاد کنیم ، چه باید کرد ؟. منظور این است که اگر پروژه را بدون ذکر نام هیچ صحفه ای در URL صدا زدیم ، Index برای ما نمایش داده شود . برای اینکار چند تغییر کوچک در کدها نیاز داریم.

به عنوان قدم اول ، آن دستور ایجاد Exception را بر میدارم . پس از آن دقیقا قبل از خط کدی که در چند خط بالاتر نوشتیم ، خط دستوری به شکل زیر وارد کنید . دقت کنید که اگر ترتیب این 2 خط کد رعایت نشود ، نمیتوان Default Static File ایجاد کرد .

 
 
 
 

میتوان این 2 خط دستور را به شکل منطقی تری در هم ادقام کرده و برای اینکار باید از دستور جدیدی به شکل زیر استفاده کرد .

 
 
 

با افزودن این خط دستور و حذف 2 دستور قبلی شما همان سیستم قبلی را در اختیار دارید ولی ترتیب و نظم فایلها دیگر بر عهده خود File System خواهد بود. حالا میبینید که با وارد کردن مثلا /Aliدر URL باز هم به دلیل Valid نبودن این URL باز هم همان پیام اولیه درون Json File نمایش داده خواهد شد .

حالا دیگر توانسته ایم آدرس صحفه ، مدیریت خطا و مدیریت Static File را در این دست پروژه ها داشته باشیم. با تغییرات کوچک دیگری که در بخش بعدی خواهیم داشت ، کم کم میتوانیم MVC را در پروزه را Setup کرده و کم کم با بررسی اجزاء MVC در این مدل جدید از پروژه ، یک سیستم واقعی را از آغاز تا پایان مدیریت کنیم .

پیروز باشید .

 
 
علی کلاهدوزان
معرفی نویسنده : علی کلاهدوزان

سلام بر دوستان ،
شاید رایج است به عنوان پروفایل کاربر ، چند خطی راجع به خودم بنویسم ، ولی وضعیت کاری و سوابق من با یک جستجوی ساده در گوگل مشخص خواهد شد ، لذا سرتان را با مطالب بی مورد به درد نیاورم بهتر است . اگر نکته خاصی لازم بود بدانید در قسمت "ایلیا سافت در یک نگاه" به احتمال زیاد یافت خواهد شد . جزئیات بیشتر را سوال کنید ، آدرس ایمیل Ali@Kolahdoozan.com همیشه جوابگوی شماست .امیدوارم از مطالب سایت استفاده کرده باشید . شاد و پیروز باشید .

امتیاز به مطلب
           
نظرات کاربران
ارسال نظر