• خانه
  • وبلاگ
  • 4 مرحله آسان برای میزبانی یک برنامه وب اصلی ASP.NET در سرویس ویندوز

4 مرحله آسان برای میزبانی یک برنامه وب اصلی ASP.NET در سرویس ویندوز

 تاریخ انتشار :
/
  وبلاگ
4 مرحله آسان برای میزبانی یک برنامه وب اصلی ASP.NET در سرویس ویندوز


آیا می دانستید که ما می توانیم یک سرویس ویندوز ASP.NET را با سرویس ویندوز بدون استفاده از IIS میزبانی کنیم؟ مزیت هاست در سرویس ویندوز این است که پس از راه اندازی مجدد سرور، برنامه به طور خودکار راه اندازی مجدد می شود.

این قابلیت با کمک Worker Service Template پیاده سازی شده است که به نقطه شروعی برای نوشتن و ساخت اپلیکیشن های خدمات طولانی مدت تبدیل می شود. ما روی راه حلی بدون IIS تمرکز می کنیم، زیرا ممکن است همیشه در دسترس نباشد.

حتی در شرایطی که قبلاً IIS را راه‌اندازی کرده‌اید، ممکن است برنامه‌های NET Core را میزبانی نکند، چه رسد به ASP.NET Core. بنابراین، برای میزبانی آنها، باید پیاده سازی برنامه وب .NET Core را در ویژوال استودیو درک کنید.

چرا از یک برنامه وب به عنوان یک سرویس ویندوز استفاده کنیم؟

در شرایطی که می‌خواهید برنامه‌های NET Core را بدون IIS میزبانی کنید، می‌توانیم با خود استقرار کار کنیم. در اینجا برنامه اساساً به عنوان یک فایل exe کار می کند.

برای راه اندازی یک محیط میزبانی ASP.NET 3.1 در سرویس ویندوز این مراحل را دنبال کنید.

1. یک برنامه ASP.NET Core 3.1 جدید در ویژوال استودیو ایجاد کنید

یک پروژه جدید در برنامه وب VS2019 .NetCore ایجاد کنید. هنگام ایجاد یک پروژه جدید در پوشه، نسخه 3.1 را مشخص کنید (عکس از صفحه را دنبال کنید).

4 مرحله آسان برای میزبانی یک برنامه وب اصلی ASP.NET در سرویس ویندوز

2. برنامه ASP.Net Core را به عنوان یک سرویس ویندوز راه اندازی کنید

بعد از مرحله اول، زمان اجرای برنامه را مشخص کنید. ASP.NET Core از سیستم عامل هایی که سرویس های ویندوز در آنها اجرا نمی شوند نیز پشتیبانی می کند.

برای این کار باید فایل پروژه را تغییر دهیم. برای تغییر فایل پروژه، روی نام پروژه دوبار کلیک کنید و مطابق تصویر دو خط زیر را اضافه کنید.

ASP.Net Core را اجرا کنید

با استفاده از بسته NuGet پیوند اضافه کنید Microsoft.ASPNetCore.Hosting.WindowsServices و Newtonsoft.json.

این پکیج همه چیزهایی را که برای اجرای برنامه ASP.Net Core به عنوان یک سرویس پنجره نیاز دارید، دارد.

4 مرحله آسان برای میزبانی یک برنامه وب اصلی ASP.NET در سرویس ویندوز
4 مرحله آسان برای میزبانی یک برنامه وب اصلی ASP.NET در سرویس ویندوز

اکنون برنامه را به عنوان یک سرویس ویندوز اجرا کنید و آن را در فایل Program.cs پیکربندی کنید. اگر می خواهید برنامه ای مانند IIS Express را اجرا کنید، نیازی به تغییر تنظیمات پیکربندی نیست و می توانیم برنامه ای مانند IIS Express را مستقیماً اجرا کنیم.

می توانیم پورت دیگری را در آن مشخص کنیم appsettings.json و appsettings.Devlopment.json فایل را برای اجرای مستقیم برنامه روی آن پورت با استفاده از سرویس ویندوز.

پورت № 5009 را مشخص کنید.

فایل appsettings.json:

{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
	}
  },
"AllowedHosts": "*",
"ServicePort" :  5009
}
 appsettings.Devlopment.json file:
{
"DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
	}
  },
"ServicePort": 5009

ما همچنان به شفاف سازی خودمان ادامه می دهیم appsettings.json فایل به عنوان مسیر پیکربندی در Program.cs فایلی که به برنامه اجازه می دهد این مسیر را بخواند و روی این پورت کار کند. اسکرین شات های زیر را ببینید.

Program.csFile:

4 مرحله آسان برای میزبانی یک برنامه وب اصلی ASP.NET در سرویس ویندوز
4 مرحله آسان برای میزبانی یک برنامه وب اصلی ASP.NET در سرویس ویندوز

3. برنامه را ایجاد کنید و کد را منتشر کنید

با پیکربندی فوق تکمیل شده در Program.cs فایل شروع به ساخت برنامه می کند و سپس کد را در پوشه منتشر می کند.

4 مرحله آسان برای میزبانی یک برنامه وب اصلی ASP.NET در سرویس ویندوز

4. برنامه را به عنوان WindowsService اجرا کنید

برای اجرای برنامه به عنوان یک سرویس ویندوز، مراحل زیر را دنبال کنید.

  • یک خط فرمان با اجازه مدیر باز کنید.
  • با استفاده از این دستور برنامه را به عنوان یک سرویس ویندوز ثبت کنید (فضای بعد از “binPath =” مورد نیاز است)

با استفاده از دستور زیر یک سرویس ویندوز ایجاد کنید:

sc create AspNetCoreWindowsServicebinPath = “مسیر برنامه من برای انتشار پوشه exe – سرویس”

در مثال بالا که گرفتیم AspNetCoreWindowsService به عنوان یک نام؛ شما می توانید از هر نامی که می خواهید نگه دارید استفاده کنید. همچنین، -سرویس نام استدلالی است که ما می گذرانیم Program.cs فایل.

4 مرحله آسان برای میزبانی یک برنامه وب اصلی ASP.NET در سرویس ویندوز

لانه، باز کن services.msc و سرویس ویندوز میزبان خود را با نام مشاهده کنید AspNetCoreWindowsService برای شروع سرویس

4 مرحله آسان برای میزبانی یک برنامه وب اصلی ASP.NET در سرویس ویندوز

وقتی سرویس شروع شد، مرورگر را باز کنید و به آن بروید http://localhost: 50009برای مشاهده اینکه برنامه وب در حال اجرا است. اگر به خاطر داشته باشید، ما پورت 5009 را در مراحل اولیه توسعه برنامه های وب اصلی ASP.NET تنظیم کرده بودیم. به طور خاص، به دنبال بخشی باشید که در آن به آن اشاره کردیم appsetting.json مانند بالا فایل کنید

4 مرحله آسان برای میزبانی یک برنامه وب اصلی ASP.NET در سرویس ویندوز

با استفاده از دستور زیر سرویس ویندوز را حذف کنید:

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

scdeleteAspNetCoreWindowsService

از نو، AspNetCoreWindowsService ونام سرویس ویندوز است که برای مثال برای شما مشخص کردیم.

برای خلاصه کردنش

این وبلاگ شما را طی مراحل راه اندازی یک محیط میزبانی برای توسعه برنامه وب ASP.NET Core 3.1 در سرویس ویندوز. اگرچه این فرآیند به اندازه کافی ساده است برای درک، ما در DEV IT تفاوت های ظریف را درک کرده اند و همه چیز را در مورد آن می دانند شیوه های توسعه انعطاف پذیر.

تجربه توسعه ما به ما این امکان را داده است که برنامه هایی ایجاد کنیم که بهترین عملکرد را در کلاس خود نشان می دهند و به شما کمک می کنند تا کسب و کار خود را به سطح بعدی ببرید. برای هر نوع خدمات توسعه اپلیکیشن موبایل با ما تماس بگیرید.

نشریه 4 مرحله آسان برای میزبانی یک برنامه وب اصلی ASP.NET در سرویس پنجره برای اولین بار در مجله DEV IT ظاهر شد.