我正在尝试创建一个Infopath-formular,当正确填写时,应该调用lists.asmx webservice将Data添加到某个列表中。但是,对Web服务的调用无法正常工作,我得到一个SecurityException。
然而,在调试之后,我遇到了在创建NetworkCredential进行登录时提前抛出SecurityException。我所做的只是
NetworkCredential x = new NetworkCredential();
x.UserName = "myUser";
x.Domain = "myDomain";
x.Password = "myPasword";
在监控x.Domain或x.Password时,我得到以下异常:
Message: Fehler bei der Anforderung des Berechtigungstyps "System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".
Source: mscorlib
Stack:
bei System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
bei System.Security.CodeAccessPermission.Demand()
bei System.Net.NetworkCredential.get_Password()
我该怎么办?我的猜测是,我必须设置Infopath中存在某种信任级别。但不知道如何实现这一点。
提前致谢!
编辑: 我找到了这个网站:http://www.gleamtech.com/support/forums/2458/net-permission-problem 不幸的是,这对我没有帮助(信任等级已经设定为最高)
答案 0 :(得分:0)
您需要使InfoPath形式完全信任(与您引用的文章中的建议不同,该建议使ASP.Net网站完全信任)。
对于InfoPath 2010:文件 - >信息 - >表格选项 - >安全和信任 - >完全信任。
请注意,启用Web的完全信任表单必须由管理员部署到SharePoint,您不能将它们作为沙箱表单发布。