Có cách nào để liệt kê tất cả các trang web đang hoạt động tồn tại trong IIS bằng cách sử dụng C#?Liệt kê tất cả các trang web trong IIS C#
Cảm ơn
Sp
Có cách nào để liệt kê tất cả các trang web đang hoạt động tồn tại trong IIS bằng cách sử dụng C#?Liệt kê tất cả các trang web trong IIS C#
Cảm ơn
Sp
Dưới đây là một article giải thích như thế nào điều này có thể được thực hiện bằng các lớp học từ namespace System.DirectoryServices cũng như Microsoft.Web.Administration namespace mà đã được giới thiệu với IIS 7.
Nếu ai là Intrested tôi đã sử dụng sau đây
var files = Directory.GetFiles(directory, "*",SearchOption.AllDirectories);
sizeInBytes = (from file in files let fileInfo = new FileInfo(file) select fileInfo.Length).Sum();
Đoạn mã này giả định rằng các thư mục trong thư mục được chỉ định thể hiện các trang web thực sự, điều này không nhất thiết phải đúng. Đoán của tôi là bạn đang thực sự cố gắng liệt kê các thư mục ảo trong một trang web? Thay vì sử dụng các lớp trong System.DirectoryServices, nó sẽ chính xác hơn. – cstruter
Đây chỉ là sai ... – Milney
Đối với IIS 7 bạn có thể sử dụng Micro soft.Web.Administration.dll (C: \ Windows \ System32 \ inetsrv) và mã sau đây
var iisManager = new ServerManager();
SiteCollection sites = iisManager.Sites;
Điều này hoạt động tuyệt vời, cảm ơn! Tuy nhiên, cần lưu ý rằng ứng dụng thực thi (VS hoặc bản thân ứng dụng) sẽ cần các quyền nâng cao để chạy điều này (ít nhất là trên thiết lập Windows 7 của tôi). – nateirvin
Đây là điều tốt nhất tôi tìm thấy trên internet trong một thời gian dài (công việc liên quan đến khóa học!) – jackncoke
Liên kết này hiện đã chết. – nateirvin