我创建了一个webservice,它也有一个客户端(控制台应用程序)。该客户端位于映射驱动器上。调用该服务会导致log4net dll发生错误。错误是一个ThrowSecurityException异常,它的消息是这样的(我只有德文文本,所以我必须翻译):该程序集只允许调用者完全可信。从映射驱动器调用Web服务?
该dll与客户端exe文件位于同一目录中。我测试了一个正常的驱动器,它工作正常。想法在这里?
我创建了一个webservice,它也有一个客户端(控制台应用程序)。该客户端位于映射驱动器上。调用该服务会导致log4net dll发生错误。错误是一个ThrowSecurityException异常,它的消息是这样的(我只有德文文本,所以我必须翻译):该程序集只允许调用者完全可信。从映射驱动器调用Web服务?
该dll与客户端exe文件位于同一目录中。我测试了一个正常的驱动器,它工作正常。想法在这里?
尝试给所有人的dll读取权限http://technet.microsoft.com/en-us/library/bb727008.aspx 您可能需要从原始位置执行此操作。 尝试在你的配置文件来改变SECURITYPOLICY节这样:
<system.web>
<securityPolicy>
<trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
</securityPolicy>
</system.web>
,你可以在这里读到它:http://msdn.microsoft.com/en-us/library/wyts434y.aspx
您需要分配FullTrust
到网络驱动器(它在默认情况下LocalIntranet
)。我认为这应该与网络共享相似。见Using CasPol to Fully Trust a Share。
编辑:
或者尝试这样的事:
caspol -q -machine -addgroup 1 -url file://X:/* FullTrust -name "X Drive"
(与你的映射驱动器号替换X)
不,不工作...得到相同的信息。嗯... – grady
您是否尝试过检查映射驱动器的安全策略以及您执行的单个程序集的安全策略?你运行的'caspol'命令是否对安全策略有影响? –
随着原来你指的是一个映射驱动器上运行的客户端应该设置它? – grady
我的意思是在物理上有驱动器的计算机上 - 做共享的计算机 – kleinohad
这没有帮助,我得到同样的错误。更多的想法? – grady