Retrieving a list using the Serve-side Object Model
*******************************************
Problem: In MOSS we could use CAML queries or the SharePoint API (Server side object model) to retrieve list data. In SP2010 there are various methods for getting a list however, the Server-side Object Model has been improved/enhanceced.
SPSite site = new SPSite("http://demo.dev");
SPWeb web = site.OpenWeb();
SPList list = web.Lists["Customers"];
Hypothesis:
If the list doesn't exist you received a NullReferenceException. A try catch block is usually wrapped around the list retrieval however, SP2010 has an improved method TryGetList().
Resolution:
SPList list = web.TryGetLists["Customers"]; // if list doesn't exist list will be null.
Other improvements to the API include: TryGetFieldByStaticName,
Disposing Objects
***************
Problem: SPSite and SPWeb objects are not automatically disposed.
Resolution: Use either using statements or try catch finally statements to dispose of SPWeb and SPSite objects. Check all code using the SPDisposal tool.
More Info:
Reading this post jogged my thoughts on the 2 topics posted above. This is useful for SP developers to know.
*******************************************
Problem: In MOSS we could use CAML queries or the SharePoint API (Server side object model) to retrieve list data. In SP2010 there are various methods for getting a list however, the Server-side Object Model has been improved/enhanceced.
SPSite site = new SPSite("http://demo.dev");
SPWeb web = site.OpenWeb();
SPList list = web.Lists["Customers"];
Hypothesis:
If the list doesn't exist you received a NullReferenceException. A try catch block is usually wrapped around the list retrieval however, SP2010 has an improved method TryGetList().
Resolution:
SPList list = web.TryGetLists["Customers"]; // if list doesn't exist list will be null.
Other improvements to the API include: TryGetFieldByStaticName,
Disposing Objects
***************
Problem: SPSite and SPWeb objects are not automatically disposed.
Resolution: Use either using statements or try catch finally statements to dispose of SPWeb and SPSite objects. Check all code using the SPDisposal tool.
More Info:
Reading this post jogged my thoughts on the 2 topics posted above. This is useful for SP developers to know.