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 属性"对话框中,单击"确定"。
但这对我不起作用请帮忙
您使用
Microsoft.Web.Administration
API 要求代码在目标 IIS 计算机上具有管理员权限的帐户下运行。
在您的情况下,错误消息仅指示执行帐户没有此类权限。它引用的文件是 IIS 的应用程序主机.config,而不是你的 web.config。更改该文件的 NTFS 权限是没有用的。
单击应用程序池 ->右键单击 WCF 服务托管 ->转到高级设置->在进程中选择标识 ->将"应用程序池"更改为"本地系统" 它可以工作。