我正在使用以下代码从sharepoint访问Web应用程序。
SPWebApplication webApplication = SPContext.Current.Site.WebApplication;
它与sharepoint 服务器2010(MOSS2010)一起正常工作。但是当我使用SharePoint Foundation 2010(WSS4.0) SPContext时,当前始终返回null。谁能告诉我这可能是什么原因?我该如何解决这个问题?
感谢致敬,
沙米拉
最佳答案
我看到SPContext被发现为null的常见原因之一是当您配置了错误的AAM时。共享点了解为您的站点配置了哪些URL,这非常重要,因为如果未注册URL,则无法确定URL是否在SPContext内,因此可以创建它。
我见过的最常见的更改是修改主机的标头
IIS站点。这是一个巨大的禁忌,请不要这样做(使用
而是AAM)。如果您确实要继续修改这些内容,
添加的标题仅部分起作用。在SharePoint内部
有很多组件直接依赖于URL,
特别是在内部查找此URL时。您发现的(对于
开发人员)是对SPContext.Current的引用(
SharePoint优势)将不起作用。这会造成随机破坏
SharePoint页面,Web部件和自定义功能。
如果您想了解如何设置AAM(并了解为什么如此重要),请在这里查看,请看我关于此主题的博客文章
http://blog.staticvoid.co.nz/2011/05/sharepoint-alternate-access-mappings.html
关于sharepoint - SharePoint:SPContext.Current在SharePoint Foundation 2010中返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8725255/