انتشار اپلیکیشن ASP.NET Core 2.0 در Azure با سرویس های SQL

یکشنبه 27 خرداد 1397

انتشار یا توسعه ی یک اپلیکیشن کمی دشوار است و اگر ما راه دقیق توسعه ی اپلیکیشن را ندانیم با مسائل زیادی روبرو خواهیم شد بنابراین در این مقاله به نحوه ی توسعه یا انتشار یک اپلیکیشن ASP.NET CORE 2.0 در Azure خواهیم پرداخت.

انتشار اپلیکیشن ASP.NET Core 2.0 در Azure با سرویس های SQL

این مقاله نحوه ی توسعه یا انتشار یک اپلیکیشن ASP.NET CORE 2.0 در Azure را نشان می دهد. همانطور که همه ی ما می دانیم زمانی که ما اپلیکیشن را می سازیم باید جایی آن را توسعه دهیم که می تواند IIS ، Cloud یا هرجای دیگری باشد. انتشار یا توسعه ی یک اپلیکیشن کمی دشوار است و اگر ما راه دقیق توسعه ی اپلیکیشن را ندانیم با مسائل زیادی روبرو خواهیم شد.

بنابراین تمام گام های انتشار یک ASP.NET CORE 2.0 در Azure را نشان خواهیم داد. ما از قبل یک اپلیکیشن با استفاده از  Razor Page را ساخته ایم و اینجا از همان اپلیکیشن برای توسعه استفاده می کنیم.

بنابراین اجازه دهید به بخش پیاده سازی عملی برویم. ما یک پروژه ی آماده برای توسعه داریم. برای انتشار یک اپلیکیشن Asp.Net Core 2 از Solution Explorer روی پروژه راست کلیک کنید و روی گزینه ی “Publish” کلیک کنید.این مقاله درباره ی استفاده از SQL server و جداول برای عملیات CRUD است.

زمانی که ما گزینه ی “Publish” را انتخاب کردیم پنجره ی دیگری باز خواهد شد که در آن ما گزینه های دردسترس دیگری برای انتشار یک اپلیکیشن در Azure یا هاست دیگری نظیر IIS، پوشه و غیره داریم. این جا ما باید “Microsoft Azure App Service” را با گزینه ی “Create New” انتخاب کنیم و سپس بدون انجام هیچ کار دیگری فقط روی گزینه ی “Publish” کلیک کنیم.

پنجره ی بعدی گزینه های مختلفی برای تنظیم یک محیط هاست و سرویس های آن دارد. زیر قسمت “Hosting” می توانیم نام اپلیکیشن خود را تعریف کنیم “App Name”. این نام برای دسترسی به اپلیکیشن از مرورگر استفاده می شود، حال طرح اشتراکی خود را تعریف کردیم طبق آن می توانیم اپلیکیشن و گروه منابع آن را SQL server منتشر کنیم.

توجه

آیا ما باید Microsoft Subscription Plan را با Azure Credits برای توسعه داشته باشیم؟

توجه

اگر پایگاه داده را به عنوان بخشی از اپلیکیشن داشته باشیم به Service Part برای ساخت SQL server و پایگاه داده می رویم.

همانطور که ما اپلیکیشنی که عملیات CRUD را انجام می دهد منتشر می کنیم نیاز داریم که تنظیمات پایگاه داده ی SQL را نیز انجام دهیم بنابراین مستقیما به گزینه ی Services در زیر Hosting برای ساخت سرویس های مرتبط SQL نظیر SQL server، SQL database ، connection string و غیره می رویم.

همانطور که در تصویر زیر می توانیم ببینیم در گزینه ی Services در قسمت Resource Type ما “SQL Database” با علامت به علاوه[+] را داریم. برای ساخت SQL service جدید روی علامت به علاوه[+] کلیک کنید.

زمانی که روی علامت به علاوه کلیک می کنیم یک پنجره ی جدید باز می شود که مسئول تنظیم SQL server و پایگاه داده است. بنابراین ابتدا یک SQL Server جدید در Azure تنظیم می کنیم. برای ساخت SQL Server جدید در Azure روی دکمه ی New همانطور که در تصویر زیر نشان داده شده است کلیک می کنیم.

از پنجره ی “Configure SQL Server” باید نام SQL Server ، نام کاربری و رمز را برای دسترسی به آن از SQL Server Management Studio یا استفاده از آن با Connection String ، تعریف کنیم.

پس از تنظیم یک SQL server جدید روی OK کلیک کنید. با این کار به صفحه ی “Configure SQL Database” که می توانیم از طریق آن پایگاه داده ی SQL را تنظیم کنیم، برمی گردیم. بنابراین اینجا می توانیم نام پایگاه داده ی خود و همچنین نام connection string را تعریف کنیم زمانی که تمام این کار ها را انجام دادیم روی OK کلیک می کنیم.

توجه

پیش از این نام پایگاه داده و connection string به صورت پیش فرض انتخاب می شود ولی ما این جا این موارد را تغییر دادیم.

بنابراین تا به حال سه مورد را پیکربندی کرده ایم اول طرحی که تحت آن اپلیکیشن ما در Azure منتشر می شود مورد دوم SQL server است که ما پایگاه داده ی SQL خود و جداول را در آن پیکربندی کرده ایم و مورد آخر همانطور که تصویر زیر نشان می دهد پایگاه داده ی SQL با همان SQL server است.

حال زمان توسعه ی اپلیکیشن با پیکربندی بالا است بنابراین فقط روی دکمه ی “CREATE” کلیک کنید. با این کار همانطور که تصویر زیر نشان می دهد توسعه ی اپلیکیشن در Azure  شروع می شود.

اینجا می توانیم “Azure Successfully Configured” را ببنیم و Visual Studio انتشار اپلیکیشن در Azure را شروع می کند.

این کار چند دقیقه و یا چند ثانیه برای هر اتصال شبکه و سرعت توسعه ی اپلیکیشن روی Azure طول می کشد و به ما پیام هایی به شرح زیر در محل زیر نشان می دهد که می گوید اپلیکیشن با موفقیت توسعه یافته است.

همانطور که همه ی ما می دانیم این اپلیکیشن از پایگاه داده ی SQL و جداول آن برای انجام عملیات CRUD استفاده می کند. ما از قبل یک پایگاه داده ساخته ایم. ما از قبل در زمان پیکربندی SQL service یک پایگاه داده ساخته ایم اما جداول در حال ساخت هستند. برای ساخت جداول مورد نیاز SQL در پایگاه داده ی “TestDB” نیاز به دسترسی به SQL server و پایگاه داده ی آن و اجرای اسکریپت های جداول به صورت دستی داریم.

حال باید “Microsoft SQL Server Management Studio” را از سیستم خودمان باز کنیم و گواهی نامه های خودمان را ، همانطور که از قبل SQL server را پیکربندی کردیم، ارسال کنیم. مطمئن باشید که زمان وارد کردن نام سرور نام SQL server باید به فرمت زیر باشد.

Servername.database.secure.windows.net,1433

ما یک خطای جدید داریم که به معنی این است که به دلیل قانون firewall ، با این آدرس IP قادر به دسترسی به SQL server تعریف شده نیستیم.

برای حل این خطا باید این آدرس IP را به قوانین firewall اضافه کنیم بنابراین Microsoft Azure portal را باز کنید و SQL server را که قبلا پیکربندی کرده ایم را انتخاب کنید.

همانطور که تصویر زیر نشان می دهد زیر SQL Server گزینه ی “Firewall/Virtual Networks” را داریم. اینجا در عکس می توانیم ببینیم که درحال حاضر هیچ آدرس IP تعریف نشده است. شما باید روی “Add Client IP” برای اضافه کردن آدرس IP کلاینت در قوانین firewall کلیک کنید و سپس برای ذخیره سازی آن کلیک کنید.

پس از اضافه کردن “Client IP Address” آن را در قوانین Firewall خواهیم داشت حال می توانیم به این سرور از طریق SQL Server Management Studio دسترسی داشته باشیم.

اگر یک بار دیگر برای ورود به SQL Server Management Studio تلاش کنیم قادر به ورود خواهیم بود. حال پایگاه داده ی “TestDB” را که با این انتشار، پیکربندی کرده ایم را انتخاب کنید و راست کلیک کنید و یک پنجره ی کوئری جدید باز کنید. اینجا باید اسکریپت های SQL مانند ساخت یک جدول جدید، وارد کردن رکورد های جدید و غیره را اجرا کنیم.

بنابراین نهایتا همه چیز را پیکربندی کرده ایم که شامل پایگاه داده نیز می شود. حال زمان دسترسی به اپلیکیشن توسعه یافته ما می باشد اگر با URL زیر به اپلیکیشن خود دسترسی پیدا کنیم ( این فقط برای مورد من است و برای شما می تواند با نام خود شما تعریف شده باشد) اپلیکیشن را مانند زیر خواهیم دید.

https://razorpagesexample.azurewebsites.net/Product

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

تاکنون هیچ کاربری از این پست تشکر نکرده است

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید