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