如何在Medium Trust中写入Web.Config?

38 c# asp.net medium-trust

将我的第一个体面大小的网络应用程序上传到我的共享主机为我提供了一系列新的挑战,我的意思是,不眠之夜.问题是,我当然没有开发出我的中等信任申请(或者有任何线索是什么.)

我解决了所有问题,除了一个.

我为管理员编写了一个安装程序,以便能够指定他们的连接字符串和其他首选项,但我找不到以中等信任方式写入web.config的方法.有没有人有解决方案,或者我应该将偏好放在另一个文件中?

Rob Allen.. 19

这实际上听起来像IIS的Low水平.如果是,则您将无法写入任何文件,而不仅仅是web.config.

以下是IIS帮助文件中的级别:

  • 完整(内部) - 指定不受限制的权限.授予ASP.NET应用程序权限以访问受操作系统安全性约束的任何资源.支持所有特权操作.
  • High(web_hightrust.config) - 指定高级别的代码访问安全性,这意味着默认情况下应用程序无法执行以下任何操作:
    • 调用非托管代码.
    • 致电服务组件.
    • 写入事件日志.
    • 访问消息队列服务队列.
    • 访问ODBC,OleDb或Oracle数据源.
  • Medium(web_mediumtrust.config) - 指定中等级别的代码访问安全性,这意味着除了高信任级别限制之外,ASP.NET应用程序默认情况下不能执行以下任何操作:
    • 访问应用程序目录外的文件.
    • 访问注册表.
    • 进行网络或Web服务调用.
  • 低(web_lowtrust.config) - 指定低级别的代码访问安全性,这意味着除了中等信任级别限制之外,应用程序默认情况下不能执行以下任何操作:
    • 写入文件系统.
    • 调用Assert方法.
  • Minimal(web_minimaltrust.config) - 指定最低级别的代码访问安全性,这意味着应用程序仅具有执行权限.

我建议如果你已经死定了安装程序,请让它创建一个web.config内存,用户可以在本地保存,FTP然后再保存.