我必须说到目前为止,我可能只是非常幸运,因为我从未遇到过与以中等信任度运行的网站相关的问题。我只开发过 Intranet 应用程序,或者碰巧使用过完全信任的托管公司。但是我被要求用于最近的项目的主机以中等信任度运行,所以我试图让我的应用程序运行它。几个问题 - 我在 Windows XP 上开发。那里的 IIS 可以配置为中等信任(更易于调试)和/或它是 web.config 设置吗?关于这个主题有大量的信息,而且学习曲线很陡峭。
其次,经过大量的摆弄和删除代码,我认为这一行导致了权限错误:
对于 Type.GetFields 中的每个 FieldInfo 作为 FieldInfo(BindingFlags.Instance 或 BindingFlags.NonPublic 或 BindingFlags.Public)
谁能澄清这是一个可能的候选人,尤其是。那个非公共标志?这是复制和粘贴的代码(Coding Horror 强调了这样做的风险)所以我从来没有真正想过。我假设循环是通过对象中的每个字段,包括公共和非公共字段——我已经读过,受保护的字段是禁止使用对中等信任进行反射的。
干杯,罗布。