1
我需要測試我的業務創建的sharepoint解決方案。我創建了一個簡單的exe文件,可以在實際的SharePoint服務器上運行。使用Sharepoint服務器對象模型測試Sharepoint解決方案
我想弄清楚如何使用Sharepoint服務器OM來做我的測試。在這一點上我所要做的只是將一個項目添加到庫中。
我的第一個解決方案做了這樣的事情:
SPSite site = SPContext.Current.Site;
SPWeb web = site.OpenWeb();
etc...
的這裏的問題是SPCOntext.Current.Site總是空。
我的一次新的嘗試看起來是這樣的:
SPSite site = new SPSite(url);
SPWeb web = site.OpenWeb();
SPList list = web.Lists[listName];
SPListItem item = list.AddItem();
item["Title"] = "Some Title";
item.Update();
這種運行沒有任何錯誤,但是當我有問題檢查清單,我添加的項目是不存在的。
任何人都可以幫助指導我到哪裏去錯了嗎?
工作就像一個魅力。萬分感謝! 我確實需要包含AllowUnsafeUpdates。這是什麼原因?我可以附加一個用戶名和pwd以某種方式避免這種情況? – cmptrer 2010-07-15 21:57:41
它必須符合事實,即您調用構造函數而不是從SPContext獲取對象。順便說一句,SPContext爲空,因爲您在HTTP請求的上下文之外使用它。 SPContext是HTTPContext的SharePoint版本。 此外,我已更新我的原始代碼塊,以包括使用語句,以確保正確的對象處置。 – knight0323 2010-07-16 04:19:57
AllowUnsafeUpdates允許你在沒有通過表單摘要檢查的情況下更新HTTP請求的上下文。 E.g.在Web部件的顯示上而不是回發的響應。 你不需要它的控制檯類型的應用程序,沒有HTTP上下文(這是SPContext不會工作的原因)。 http://hristopavlov.wordpress.com/2008/05/16/what-you-need-to-know-about-allowunsafeupdates/ – Ryan 2010-07-16 11:05:31