为了让它在共享主机上的中信任下运行,AVOID编码到我的ASP.NET应用程序中最常见,最典型的事情是什么?

Cor*_*ger 8 asp.net security trust shared-hosting medium-trust

Medium Trust阻止您做什么?例如,我已经了解到中信任阻止您使用System.IO.Path.GetTempPath().那还有什么呢?

Cor*_*ger 4

以下是如何了解和解决信任问题。

1) 在 Windows\Microsoft.NET\Framework[您的版本]\CONFIG 文件夹中搜索以下文件:

  • web.config(这是根配置文件)
  • web_mediumtrust.config
  • web_hightrust.config

2)更改 web.config 说

<trust level="Medium" originUrl="" />
Run Code Online (Sandbox Code Playgroud)

3) 尝试您的 ASP.NET 应用程序。我的因权限错误而失败。

4) 在 diff 工具(如 WinMerge)中比较 web_mediumtrust.config 和 web_hightrust.config。

5) 每次将设置从高复制到中,看看它们如何影响您的应用程序。就我而言,错误消息引用了 ConfigurationPermission,因此很容易诊断。

如果您可以确定 web_mediumtrust.config 文件中阻止您的精确行,那么也许您可以与您的托管公司共享该行,并且有更好的机会解决问题。

更多文档在这里:
http ://msdn.microsoft.com/en-us/library/aa302425.aspx

@Oli,我的应用程序托管在 GoDaddy,当我开始使用 Lucene.NET 时,我必须在代码中执行一些解决方法。我必须修改 Lucene.NET 源代码以不使用 GetTempPath 和 System.IO.FileInfo。