Tôi cần xóa một thư mục ảo và nhóm ứng dụng từ .NET như một phần của phương pháp gỡ cài đặt của tôi. Tôi thấy đoạn mã sau trên web ở đâu đó:Làm cách nào để xóa các đối tượng IIS khỏi C#?
private static void DeleteTree(string metabasePath)
{
// metabasePath is of the form "IIS://<servername>/<path>"
// for example "IIS://localhost/W3SVC/1/Root/MyVDir"
// or "IIS://localhost/W3SVC/AppPools/MyAppPool"
Console.WriteLine("Deleting {0}:", metabasePath);
try
{
DirectoryEntry tree = new DirectoryEntry(metabasePath);
tree.DeleteTree();
tree.CommitChanges();
Console.WriteLine("Done.");
}
catch (DirectoryNotFoundException)
{
Console.WriteLine("Not found.");
}
}
nhưng có vẻ như để ném một COMException
trên tree.CommitChanges();
. Tôi có cần dòng này không? Đó có phải là cách tiếp cận chính xác không?
Bạn có thể dán toàn bộ COMException không? – Kev
Bạn thực sự nên sử dụng trình cài đặt Windows để thực hiện những việc này. Wix đã xây dựng các chức năng để tự động tạo và loại bỏ các đối tượng IIS. –
@ Jesse - Sử dụng Wix bạn có thể nhắc người dùng cho một hồ bơi/trang web/vdir ứng dụng mới thay vì chọn những ứng dụng hiện có (dự án VS Web Setup chỉ cho phép bạn chọn các đối tượng IIS hiện có)? – Kev