Setelah membaca artikel Yizui Jie Qianchou versi Asp.Net tentang memodifikasi direktori IIS, saya berpikir bahwa saya telah berpikir untuk menambahkan header host ke IIS melalui kode sebelumnya, tetapi tidak pernah mempelajarinya untuk memecahkan masalah ini.
Untuk situs blog, jika Anda perlu memberikan dukungan nama domain sekunder untuk pengguna, dan program web tidak berjalan di situs default, Anda perlu menambahkan header host yang sesuai ke IIS melalui kode saat pengguna mendaftar.
Masalah ini diselesaikan melalui pencarian Google untuk Menambahkan header host dengan kode di IIS. Setelah pengujian, dipastikan bahwa metode tersebut layak dan beberapa perbaikan dilakukan pada kode tersebut. Mengingat konten ini akan bermanfaat bagi beberapa teman, tulis saya artikel ini.
Kodenya adalah sebagai berikut:
kekosongan statis Utama (string[] args)
{
AddHostHeader(1, null, 80, "test.cnblogs.com");
}
static void AddHostHeader(int siteid,string ip, int port, string domain)
{
Situs DirectoryEntry = DirectoryEntry baru("IIS://localhost/W3SVC/"+siteid);
PropertyValueCollection serverBindings = situs.Properti["ServerBindings"];
string headerStr = string.Format("{0}:{1}:{2}",ip,port,domain);
if (!serverBindings.Contains(headerStr))
{
serverBindings.Tambahkan(headerStr);
}
situs.CommitChanges();
}
Sebelum menemukan Tambahkan header host dengan kode di IIS, saya gagal menemukan atribut "ServerBindings" melalui kode berikut dan mengambil beberapa jalan memutar.
Situs DirectoryEntry = DirectoryEntry baru("IIS://localhost/W3SVC/1/root");
Kodenya sangat sederhana, yang perlu dijelaskan adalah siteidnya, situs defaultnya adalah 1. Untuk situs non-default, Anda dapat mengetahuinya dengan melihat nama file log situs.
Sumber: programmer dudu-senang