【问题标题】:Update IIS webconfig更新 IIS 网络配置
【发布时间】:2013-04-18 21:53:45
【问题描述】:

我创建了一个 C# 项目。现在我想借助 key 和 value 在 web.config 文件中保存一个 IP 地址。

<add key="ip" value="xxxx.xxx.x.xxx" />

现在我可以借助键名读取值,还可以更新键的值。它在 localhost 中成功运行。

但是如果我将文件放在 IIS 中,我可以读取值但无法更新键值。像这样的错误显示在 Mozilla Firebug 中。错误如下

NetworkError: 500 内部服务器错误

访问路径 \u0027C:\inetpub\wwwroot\Order1\v1y5ay43.tmp\u0027 被拒绝。

我卡在这里。我谷歌了它,但没有找到任何解决方案。

【问题讨论】:

  • 你想让你的网络应用修改配置文件吗?
  • 是的,蒂姆,你是绝对正确的。实际上客户端 IP 地址将保存在 web.config 中。他可以修改应用程序的IP地址。应向客户端提供一个包含文本框和按钮的表单。
  • 以这个答案为例:stackoverflow.com/a/719941/745969
  • 是的,蒂姆,我以前见过这个。它在本地主机中成功运行。但是当我在 IIS 中发布它时,问题就出现了。我是否缺少提供给 IIS 以完全访问 web.config 的东西?
  • 确保应用程序池使用的帐户有权读取/写入 Web.config 所在的目录。

标签: iis web-config


【解决方案1】:

你不能这样做。

Web 应用程序无法修改它自己的配置文件。这是您绝对不应规避的安全措施。

其他选项: 将值存储在会话状态中。还是在缓存中?还是在全局静态哈希表中?

通常客户端特定的东西应该存储在会话状态中(如果你启用了)。

请记住,您可能同时拥有多个客户,因此您需要对其进行跟踪。

注意:为什么要存储 IP?它是所有代码隐藏类都可以使用的属性 - 那么为什么要存储它呢?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-28
    相关资源
    最近更新 更多