System.Security.SecurityException?

Yas*_*ahu 12 .net asp.net iis-7

说明:应用程序尝试执行安全策略不允许的操作.要授予此应用程序所需的权限,请与您的系统管理员联系或在配置文件中更改应用程序的信任级别.

异常详细信息:System.Security.SecurityException:请求类型为'System.Security.Permissions.FileIOPermission,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限失败.

我的代码在我的本地服务器中正常运行,在将其上传到服务器时会产生问题.

已经通过以下代码,但它不适合我:

样本1:

<system.web>
  <securityPolicy>
    <trustLevel name="Full" policyFile="internal"/>
  </securityPolicy>
</system.web>
Run Code Online (Sandbox Code Playgroud)

样本2:

<location allowOverride="false">
  <system.web>
    <securityPolicy>
      <trustLevel name="Full" policyFile="internal" />
      <trustLevel name="High" policyFile="web_hightrust.config" />
      <trustLevel name="Medium" policyFile="web_mediumtrust.config" />
      <trustLevel name="Low"  policyFile="web_lowtrust.config" />
      <trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
    </securityPolicy>
  </system.web>
</location>
Run Code Online (Sandbox Code Playgroud)

样本3:

<system.web>
    <trust level="Full" originUrl="" />
</system.web>
Run Code Online (Sandbox Code Playgroud)

我无法访问IIS我只有FTP详细信息上传文件.请建议我从webconfig文件中解决它的选项.

Zan*_*ken 15

您在示例三中使用的方法与我的解决方案类似,但我没有添加您拥有的其他属性.试试这个简单的方法.

  <system.web>
    <trust level="Full"/>
  </system.web>
Run Code Online (Sandbox Code Playgroud)

这来自我读过的MSDN帖子.


ric*_*ott 0

注意:如果您使用共享主机,它们通常有一个 Web 界面来允许对文件进行读/写访问。

我不推荐,但您可以模拟特定帐户:

<system.web>
    <identity impersonate="true" username="user" password="pass" />
</system.web>
Run Code Online (Sandbox Code Playgroud)

Identity否则,请确保您已向您尝试访问的应用程序池中使用的文件授予适当的权限。

指定应用程序池的标识 (IIS 7)