Điều này có chứa rò rỉ bộ nhớ không? Tôi đã cố gắng để hiểu rõ hơn về rò rỉ bộ nhớ, nhưng tôi không thể biết liệu tôi đã sửa lỗi này chưa? Nếu không, làm cách nào để xử lý chính xác đối tượng SPweb
và đối tượng SPSite
?Rò rỉ bộ nhớ SharePoint
using (SPWeb oWebsite = new SPSite(webUrl).OpenWeb()) //Open SP Web
{
SPListCollection collList = oWebsite.Lists; //Open Lists
foreach (SPList oList in collList)
//For Each List Execute this
{
if (!oList.Hidden)
//If the list is hidden do this else nothing
{
ListSitesDropDownBox.Items.Add(new ListItem(SPEncode.HtmlEncode(oList.Title), SPEncode.HtmlEncode(oList.Title)));
ViewState["Item" + counter] = SPEncode.HtmlEncode(oList.Title);
counter++;
}
}
}
+1. Đây là bài viết bạn cần đọc nếu bạn làm việc với các đối tượng SPxxx - http://msdn.microsoft.com/en-us/library/aa973248.aspx –
bạn đang đề cập đến điều gì khi bạn chỉ nói Danh sách? – atrljoe
Bạn sử dụng ký pháp Hungary cho các biến đặt tên, tức là tiền tố tên biến của bạn với chữ viết tắt tên loại. Tôi hiểu 'o' là viết tắt của' đối tượng'. Tuy nhiên điều này là hoàn toàn không cần thiết trong C# bởi vì nó có hệ thống kiểu mạnh và VS là một IDE mạnh mẽ với các tính năng như IntelliSense. Tôi khuyên bạn nên sử dụng 'website' thay vì' oWebsite', 'list' thay vì' oList', 'lists' (hoặc' allLists') thay vì 'collList' et cetera vụng về. –