NEWS

[C#] Hướng dẫn publish Website vào Internet Services Information (IIS)

[C#] Hướng dẫn publish Website vào Internet Services Information (IIS)
Đăng bởi: Thảo Meo - Lượt xem: 2609 13:29:58, 29/09/2022C#   In bài viết

Xin chào các bạn, bài viết hôm nay mình tiếp tục hướng dẫn các bạn cách pushlish website vào IIS trên Windows.

[C#] Tự động Publish Website vào IIS (Internet Information Services)

iis_csharp2

Chỉ cần một vài dòng lệnh ngắn gọn, là bạn đã có thể thêm website vào IIS.

Bước 1: Đầu tiên các bạn cần tải thư viện Microsoft.Web.Administration từ Nuget

NuGet\Install-Package Microsoft.Web.Administration -Version 11.1.0

Bước 2: Các bạn tham khảo đoạn code sau để sử dụng cách tạo và xóa 1 site ra khỏi IIS, tìm site theo Port...

Nếu các bạn Publish site là https, thì chọn dòng code mà mình có comment lại nhé.

using Microsoft.Web.Administration;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Binding = Microsoft.Web.Administration.Binding;

namespace CreateApplicationInIIS
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();           
        }

        private List<Site> FindSite(int nPort)
        {
            var result = new List<Site>();
            var server = new ServerManager();
            foreach (Site site in server.Sites)
            {
                foreach (Binding binding in site.Bindings)
                {
                    if (binding.EndPoint.Port == nPort)
                    {
                        result.Add(site);
                        break;
                    }
                }
            }

            return result;
        }

        private void btnCreate_Click(object sender, EventArgs e)
        {
            ServerManager iisManager = new ServerManager();
            iisManager.Sites.Add("API LaptrinhVB", "http", "*:8080:", @"D:\Data\Source\WEB\API-TMI\API-TMI\bin\Debug\net6.0");           
           // iisManager.Sites.Add("API LaptrinhVB", "https", "*:8081:", @"D:\Data\Source\WEB\API-TMI\API-TMI\bin\Debug\net6.0", "..đường dẫn certificateStore");
           iisManager.CommitChanges();

           
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //var site = FindSite(8080)[0];
            //ServerManager iisManager = new ServerManager();
            //site.Stop();


            //var bindings = site.Bindings.ToList();

            //foreach (Binding binding in bindings)
            //{
            //    site.Bindings.Remove(binding, true);
            //}
            //site.Bindings.Delete();
            //iisManager.CommitChanges();
            //iisManager.Sites.Remove(site);

            //iisManager.CommitChanges();

            ServerManager manager = new ServerManager();
            Site siteToRemove = manager.Sites["API LaptrinhVB"]; // tên site
            manager.Sites.Remove(siteToRemove);
            manager.CommitChanges();


        }
    }
}

P/s: Các bạn có thể gọi hàm Start/Stop Site hoặc có thể tạo Virtual Directory... qua thư viện này nhé.

Thanks for watching!

DOWNLOAD SOURCE

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[C#] Hướng dẫn publish Website vào Internet Services Information (IIS)
Đăng bởi: Thảo Meo - Lượt xem: 2609 13:29:58, 29/09/2022C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.