我有一个用户可以匿名访问的 SharePoint 2010 外联网(企业版,完全服务打包)。在某些页面上,我使用代码在自定义 Web 部件中公开可重用内容;
SPListItem reusableItem = reusableList.GetItemById(someId);
对于匿名用户的某些项目,该确切行失败,产生异常“指定参数超出有效值范围”。异常表明匿名用户根本看不到列表项。我没有使用任何类型的模拟,并且可重用内容列表中的项目都继承了它们的权限,这授予匿名用户读取访问权限。
SharePoint 场具有标准英语安装,顶部带有丹麦语语言包。Extranet 网站是用丹麦语创建的。
产生异常的项目是我在丹麦网站上创建的项目。这三个标准内置项在匿名用户访问时不会产生异常。
我猜这个问题与匿名用户的语言或文化有关。需要注意的一件事是异常消息是英语,而不是丹麦语,尽管整个外联网站点都是丹麦语。
也可能是编码问题。也许这三个内置项目使用英语编码,而我在网站上创建的任何项目都使用丹麦编码,包括 ae、oe 和 aa 的三个特殊丹麦字符。无论我是否在可重用内容中实际使用丹麦语字符,都会发生异常。
有谁知道为什么我在访问除三个内置可重用内容项之外的任何内容时会出现异常?