دسته بندی ها
10:29 1398/07/04

نحوه لایه بندی پروژه Core و اضافه کردن به IIS

مشخصات سوال کننده :
کاربر : hosein_azm     امتیاز کاربر : 46     رتبه کاربر : 18
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 5024
هوش مصنوعی

پاسخ هوش مصنوعی

برای راه اندازی یک پروژه چندلایه Core و اضافه کردن آن به IIS، مراحل زیر را دنبال کنید:

  1. ابتدا اطمینان حاصل کنید که IIS روی سیستم شما نصب و فعال است. شما می توانید این کار را از طریق Control Panel و بخش Programs and Features انجام دهید.

  2. برای ایجاد یک برنامه جدید در IIS، پنل IIS Manager را باز کنید.

  3. بر روی Sites راست کلیک کنید و Add Website را انتخاب کنید.

  4. در پنجره باز شده، نام وب سایت، مسیر فیزیکی دایرکتوری پروژه خود و پورت مورد نظر را وارد کنید. برای مثال:

    Site Name: MyCoreApp
    Physical Path: C:\Path\To\Your\Project\bin\Release\netcoreappX.X\publish
    Port: 5000
  5. حالا پروژه خود را در حالت Release بیلد کنید. برای این کار می توانید از دستور زیر در ترمینال استفاده کنید:

    dotnet publish -c Release
  6. مطمین شوید که اجازه های لازم برای پوشه ی پروژه تنظیم شده باشد تا IIS بتواند فایل ها را بخواند.

  7. بعد از افزودن وب سایت، در IIS Manager، روی وب سایت خود کلیک کنید و سپس به Application Pools بروید تا مطمین شوید که اپلیکیشن شما در حال اجراست.

  8. حالا می توانید آدرس http://localhost:5000 را در مرورگر خود باز کنید تا خروجی پروژه را مشاهده کنید.

اگر با ارور خاصی مواجه شدید، بررسی کنید که .NET Core Hosting Bundle به درستی نصب شده باشد و همچنین مطمین شوید که پیکربندی ها در IIS به درستی انجام شده اند.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
هوش مصنوعی

پاسخ هوش مصنوعی

برای لایه بندی پروژه Core خود و اجرای آن در IIS، مراحل زیر را دنبال کنید:

1. **ساخت یک پروژه ASP.NET Core**:


dotnet new webapp -n YourProjectName

2. **ایجاد تنظیمات IIS**:

  • به Control Panel بروید و بر روی Programs کلیک کنید.

  • بر روی Turn Windows features on or off کلیک کنید.

    سپس Internet Information Services و Web Management Tools را انتخاب کنید.

3. **نصب .NET Core Hosting Bundle**:

برای اجرای برنامه های ASP.NET Core در IIS، باید [.NET Core Hosting Bundle](https://dotnet.microsoft.com/download/dotnet-core) را دانلود و نصب کنید.

4. **ایجاد یک سایت جدید در IIS**:

  • بر روی Start کلیک کنید و IIS Manager را باز کنید.

  • در قسمت Connections، بر روی Sites راست کلیک کرده و Add Website... را انتخاب کنید.

    نام سایت، مسیر فیزیکی پروژه و پورت مورد نظر را تعیین کنید.

5. **تنظیمات مجوزها**:

اطمینان حاصل کنید که حساب کاربری IIS AppPool\YourAppPoolName مجوزهای لازم برای دسترسی به پوشه پروژه را دارد.

6. **پیکربندی فایل web.config**:

فایل web.config خود را در ریشه پروژه اضافه کنید و به شکل زیر پیکربندی کنید:


<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\YourProjectName.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
    </system.webServer>
  </location>
</configuration>

7. **اجرای پروژه**:

حالا می توانید با باز کردن مرورگر و وارد کردن آدرس http://localhost:YourPort پروژه خود را مشاهده کنید.

امیدوارم این مراحل به شما کمک کند تا پروژه خود را در IIS اجرا کنید!

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 23:24 1398/07/26

سلام

آیا پروژه های شما همه دارای View و Controller هستن؟ یا اینکه فقط یک پروژه به عنوان لایه Presentation دارید و سایر پروژه ها به صورت class Library هستن؟

به این پاسخ امتیاز بدهید    2
امتیاز: 1664 رتبه: 1
پاسخ دهنده : hosein_azm 23:24 1398/07/26

6 تا پروژه دارم - یکیش لایه ui  هست بقیشون بصورت class library  هستن

به این پاسخ امتیاز بدهید    0
امتیاز: 46 رتبه: 18
پاسخ دهنده : saedbfd 23:24 1398/07/26

شما با اضافه کردن هر پروژه به صورت Class Library در واقع یک لایه به پروژه خودتون اضافه کردید. بنابراین باید با کلیک راست روی پروژه اصلی و انتخاب گزینه Project Dependency و انتخاب اون لایه از لیست ظاهر شده اون پروژه رو به برنامه معرفی کنید. در ادامه باید روی گزینه Reffrences کلیک راست کنید و با انتخاب گزینه Add Refference فایل dll لایه اضافه شده رو هم به پروژه اصلی معرفی کنید.

 

با انجام این کارها پروژه اصلی شما یا همون لایه ui می تونه با سایر لایه ها کار کنه. اما برای اجرا روی سرور هم ابتدا باید پروزه رو پابلیش کنید که اگر رفرنس ها رو به درستی اضافه کرده باشید توی پابلیش هم نباید مشکلی به وجود بیاد. دقت کنید بعد از پابلیش پروژه هر لایه (Class Library) یک فایل dll خواهد بود بنابراین شما در مجموع باید 6 فایل dll هم نام با پروژه هاتون داشته باشید.

 

بعد از پابلیش کردن پروژه تنظیمات فایل web.config رو انجام بدید. و پروژه رو روی سرور یا هاست قرار بدید.

دقت کنید تنظیمات کانکشن استرینگ رو از قبل توی فایل appsetting.json انجام داده باشید.

موفق باشید

به این پاسخ امتیاز بدهید    3
امتیاز: 1664 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود