从 ASP.app 读取 IIS 设置

发布于 2024-11-13 09:25:37 字数 166 浏览 1 评论 0原文

我们希望建立一个管理清单页面,使我们的网络管理员能够快速查看 IIS 和 Web 配置中的所有设置,以便轻松解决问题。 Web 配置相当简单,但我不知道如何从 IIS 获取这些内容。 (应用程序池名称和类型、机器密钥、匿名身份验证等)我确信可以完成,我只是不知道如何完成。

谢谢,

朗达

We would like to build an Admin Checklist page that allows our network administrators to quickly view all the setting in the IIS and web config to easily trouble an issue. the web config is fairly easy but I'm not sure how to get the stuff from IIS. (App Pool Name and type, Machine Key, Anonymous Authentication, etc.) I'm sure it can be done, I just don't know how.

Thanks,

Rhonda

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幻想少年梦 2024-11-20 09:25:37

您要查找的信息在 IIS .Net API 中公开。您可以在 \windows\system32\inetsrv 中找到它们(它们是 Microsoft.Web.Administration.dll,也可能是 Microsoft.Web.Management.dll)。

获取每个站点的 ID 和应用程序池名称的示例代码:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Web.Administration;
namespace ConsoleApplication79
{
    class Program
    {
        static void Main(string[] args)
        {
            ServerManager s = new ServerManager();
            var q = s.Sites.Select(aSite => new
            {
                ID = aSite.Id,
                AppPoolName = aSite.Applications.First().ApplicationPoolName
            });
            foreach (var item in q)
            {
                Console.WriteLine("ID: {0}, PoolName: {1}", item.ID, item.AppPoolName);
            }
        }
    }
}

The information you're looking for are exposed in the IIS .Net APIs. You can find them in \windows\system32\inetsrv (they are Microsoft.Web.Administration.dll, and maybe Microsoft.Web.Management.dll).

Sample code to get ID and application pool name for each site :


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Web.Administration;
namespace ConsoleApplication79
{
    class Program
    {
        static void Main(string[] args)
        {
            ServerManager s = new ServerManager();
            var q = s.Sites.Select(aSite => new
            {
                ID = aSite.Id,
                AppPoolName = aSite.Applications.First().ApplicationPoolName
            });
            foreach (var item in q)
            {
                Console.WriteLine("ID: {0}, PoolName: {1}", item.ID, item.AppPoolName);
            }
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文