2009-02-26 36 views
0

我們已經在root sharepoint站點下創建了一個虛擬目錄。該虛擬目錄託管一個匿名訪問的Web服務。 在代碼中,我們在執行以下操作:SharePoint,FBA和SPContext問題中的匿名訪問

using(SPSite site = new site(some uri)) 
{ 
    using(SPWeb web = site.RootWeb) 
    { 
     SPList list = web.Lists["SomeList"]; 
     SPListItem item = list.GetItemById(1); // Exception Here, COM Exception   
    } 
} 

這甚至不使用RunWithElevatedPrivileges時工作。

但是,如果將HttpContext.Current設置爲null,則在創建SPSite之前,一切正常。

任何指針爲什麼發生這將是非常有益的。

親切的問候,

回答

0

這可能不是你的問題的原因,但你SPWeb並不需要處理的,按照Roger Lamb here,這是微軟的最佳實踐精煉文檔here

+0

請參閱本線,面臨着相似的問題: http://mphacker.spaces.live.com/blog/cns!8040CC624DDC5404!290.entry – 2009-02-27 04:21:39

+0

如果是這樣的回答你問題,將其作爲答案提交併接受 - 這將有助於其他具有類似問題的人。 – 2009-02-27 17:05:16

0

恰恰相反!儘管SPSite可以爲您處置您的SPWeb,但始終檢查null並明確處置SPSite和SPWeb是一種很好的做法。

而不是問題的一部分,無論是:-) 在最壞的情況會導致工作進程往往比平常回收有點...

你能也許添加一些代碼(全班)。

此外請包括錯誤的完整堆棧跟蹤。 (有關如何在此啓用堆棧跟蹤和調試的詳細信息,請點擊此處http://blogs.importchaos.com/alonsorobles/2008/06/09/enabling-the-sharepoint-safe-mode-call-stack-disabling-custom-errors-and-enabling-compilation-debugging/

另外,我認爲列表和項目存在並允許匿名訪問?

問候 安德斯·拉斯克