IIS 上的域托管

本文关键字:IIS | 更新日期: 2023-09-27 18:33:17

我在IIS上编写了一个WCF服务来托管域,并且我已将该WCF服务托管到IIS。我的代码是

 public bool HostWebsiteToIIS(string DomainName)
        {
             bool Hosted = false;
            try
            {
                string DomainNameRecord = "";
                if (DomainName.ToLower().Contains(".com"))
                {
                    DomainNameRecord = "www." + DomainName.ToLower();
                }
                else{
                     DomainNameRecord = "www." + DomainName.ToLower()+".com";
                }
                using (ServerManager manager = ServerManager.OpenRemote("Host"))
                {
                    manager.Sites["Default Web Site"].Bindings.Add("*:80:" + DomainNameRecord, "http");
                    manager.CommitChanges();
                    Hosted = true;
                }
                return Hosted;
            }
            catch
            {
                return Hosted;
            }
        }

这是我在WCF中使用的方法,但这是将异常抛出为"

由于权限不足,无法读取配置文件

我尝试了以下步骤

在 Windows 资源管理器中,找到与网站关联的 web.config 文件。右键单击 web.config 文件单击属性。单击"安全"选项卡,然后单击"编辑"。单击添加。在"输入要选择的对象名称"框中,键入计算机名''IIS_IUSRS,单击"检查名称",然后单击"确定"。注意:计算机名是计算机名称的占位符。单击以选中 读取 复选框,然后单击 确定。在"Web.config 属性"对话框中,单击"确定"。

但这对我不起作用请帮忙

IIS 上的域托管

您使用

Microsoft.Web.Administration API 要求代码在目标 IIS 计算机上具有管理员权限的帐户下运行。

在您的情况下,错误消息仅指示执行帐户没有此类权限。它引用的文件是 IIS 的应用程序主机.config,而不是你的 web.config。更改该文件的 NTFS 权限是没有用的。

单击应用程序池 ->右键单击 WCF 服务托管 ->转到高级设置->在进程中选择标识 ->将"应用程序池"更改为"本地系统" 它可以工作。

相关文章:
  • 没有找到相关文章