یکی از قابلیتهایی که هر پروژه وب نیاز دارد ، توانایی مدیریت و کار با فایلهاست . فایلهایی مشابه 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 در این مدل جدید از پروژه ، یک سیستم واقعی را از آغاز تا پایان مدیریت کنیم .
پیروز باشید .