我在解决如何以编程方式启用"需要SSL"复选框并使用Microsoft.Web.Administration在IIS应用程序中将"客户端证书"选项更改为"需要"时遇到了一些麻烦.
我发现网上的所有问题都与在网站上配置它有关,但我只需要为网站上托管的一些应用程序启用它.
有没有经验呢?
我试过这个开始:
application.EnabledProtocols = "http,https";
serverManager.CommitChanges();
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个错误:
文件名:\?\ C:\ Windows\system32\inetsrv\config\applicationHost.config错误:无法写入配置文件
这很奇怪,因为根据我的阅读,我收集该文件维护IIS配置,但它在Windows中不存在(我无法在TextPad中打开),但它确实存在于命令提示符中,我可以more它.
做了更多的搜索,发现了这个,最后写了这个:
ServerManager serverManager = new ServerManager();
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection accessSection = config.GetSection("system.webServer/security/access", siteName + "/" + vdRelativePath);
accessSection["sslFlags"] = "Ssl,SslRequireCert";
Run Code Online (Sandbox Code Playgroud)
其中siteName和vdRelativePath是"默认网站"和"/ Application/Path".
config.GetLocationPaths()如果"默认网站/应用程序/路径"不适合您,您可以使用它来查找正确的路径.