c# - IIS 上的域托管

标签 c# asp.net wcf iis

我已经为 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 中使用的方法,但这是抛出异常

cannot read configuration file due to insufficient permissions

我试过以下步骤

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

但这对我不起作用 请帮忙

最佳答案

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

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

关于c# - IIS 上的域托管,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35219141/

相关文章:

c# - 跨应用程序通信 (C#)

c# - 获取无法访问页面的 Windows 或 IIS 用户

c# - AvalonDock(2.0) + MVVM + VSPackage = 文档选择麻烦?

html - 如何使用 Eval 更改 TemplateField 中的宽度

c# - 从后面的 C# 代码打开 HTML 模式弹出窗口

.net - system.diagnostics 跟踪如何影响 .net 性能?

c# - Wcf 休息服务 URL 最大长度

c# - 在 Visual Studio 2010 中自动打开区域

c# - 从子窗体更改父窗体属性的正确方法是什么?

html - Asp.net 从后面的代码动态隐藏带有 for 循环的 div