2011-02-10 29 views
5

Tôi có giải pháp SharePoint 2010 Farm triển khai danh sách và một phần web đọc từ danh sách đó. Nó thực sự làm nhiều hơn thế, nhưng tôi không thể vượt qua phần "đọc danh sách".SharePoint 2010 - lỗi đọc các mục danh sách "Không thể hoàn tất tác vụ này. Vui lòng thử lại."

Tôi có thể truy vấn thành công danh sách và lấy lại SPListItemCollection, nhưng khi tôi cố gắng lặp qua các mục tôi nhận được lỗi hoàn toàn mơ hồ này "Không thể hoàn tất tác vụ này. Vui lòng thử lại". Dấu vết ngăn xếp đầy đủ bên dưới:

[COMException (0x80004005): Cannot complete this action. 

Please try again.<nativehr>0x80004005</nativehr><nativestack></nativestack>] 
    Microsoft.SharePoint.Library.SPRequestInternalClass.GetListItemDataWithCallback2(IListItemSqlClient pSqlClient, String bstrUrl, String bstrListName, String bstrViewName, String bstrViewXml, SAFEARRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback, ISPDataCallback pPagingCallback, ISPDataCallback pPagingPrevCallback, ISPDataCallback pFilterLinkCallback, ISPDataCallback pSchemaCallback, ISPDataCallback pRowCountCallback, Boolean& pbMaximalView) +0 
    Microsoft.SharePoint.Library.SPRequest.GetListItemDataWithCallback2(IListItemSqlClient pSqlClient, String bstrUrl, String bstrListName, String bstrViewName, String bstrViewXml, SAFEARRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback, ISPDataCallback pPagingCallback, ISPDataCallback pPagingPrevCallback, ISPDataCallback pFilterLinkCallback, ISPDataCallback pSchemaCallback, ISPDataCallback pRowCountCallback, Boolean& pbMaximalView) +256 

[SPException: Cannot complete this action. 

Please try again.] 
    Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx) +27257906 
    Microsoft.SharePoint.Library.SPRequest.GetListItemDataWithCallback2(IListItemSqlClient pSqlClient, String bstrUrl, String bstrListName, String bstrViewName, String bstrViewXml, SAFEARRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback, ISPDataCallback pPagingCallback, ISPDataCallback pPagingPrevCallback, ISPDataCallback pFilterLinkCallback, ISPDataCallback pSchemaCallback, ISPDataCallback pRowCountCallback, Boolean& pbMaximalView) +27639062 
    Microsoft.SharePoint.SPListItemCollection.EnsureListItemsData() +4145 
    Microsoft.SharePoint.SPListItemCollection.GetEnumerator() +146 
    X.CBAS.TargetedNav.TargetedNav.TargetedNav.getUrlsForUser() +433 
    X.CBAS.TargetedNav.TargetedNav.TargetedNav.CreateChildControls() +437 
    System.Web.UI.Control.EnsureChildControls() +146 
    X.CBAS.TargetedNav.TargetedNav.TargetedNav.OnLoad(EventArgs e) +140 
    System.Web.UI.Control.LoadRecursive() +66 
    System.Web.UI.Control.LoadRecursive() +191 
    System.Web.UI.Control.LoadRecursive() +191 
    System.Web.UI.Control.LoadRecursive() +191 
    System.Web.UI.Control.LoadRecursive() +191 
    System.Web.UI.Control.LoadRecursive() +191 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2428 

Tôi đã xem định nghĩa danh sách nhiều lần và có vẻ như âm thanh, cũng như mã phần web từ những gì tôi có thể nhìn thấy.

Định nghĩa danh sách:

<ContentTypes> 
    <ContentTypeRef ID="0x0105"> 
    <Folder TargetName="Link" /> 
    </ContentTypeRef> 
    <ContentTypeRef ID="0x0120" /> 
</ContentTypes> 
<Fields> 
    <Field ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" ReadOnly="TRUE" Required="FALSE" Hidden="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Title"></Field> 
    <Field ID="{82642ec8-ef9b-478f-acf9-31f7d45fbc31}" Name="LinkTitle" Hidden="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="LinkTitle"></Field> 
    <Field ID="{bc91a437-52e7-49e1-8c4e-4698904b2b6d}" Name="LinkTitleNoMenu" Hidden="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="LinkTitleNoMenu"></Field> 
    <Field ID="{081c6e4c-5c14-4f20-b23e-1a71ceb6a67c}" Name="DocIcon" DisplaceOnUpgrade="TRUE" DisplayName="$Resources:core,Type;" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="DocIcon"></Field> 
    <Field ID="{503f1caa-358e-4918-9094-4a2cdc4bc034}" Name="Edit" DisplayName="$Resources:core,Edit;" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Edit"></Field> 
    <Field ID="{c29e077d-f466-4d8e-8bbe-72b66c5f205c}" Type="URL" Name="URL" DisplayName="$Resources:core,URL;" Required="TRUE" FromBaseType="TRUE" ShowInViewForms="FALSE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="URL"></Field> 
    <Field ID="{9da97a8a-1da5-4a77-98d3-4bc10456e700}" Type="Note" Name="Comments" DisplayName="$Resources:core,Notes;" Sortable="FALSE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Comments"></Field> 
    <Field ID="{DEDA572B-9D15-4FCE-81DA-D12EE9C29D61}" Type="Text" Name="Source" DisplayName="$Resources:X.CBAS.TargetedNav,FieldSource;" StaticName="Source" /> 
    <Field ID="{D68FEB34-BC7B-450D-8422-AA4CBA74D517}" Type="Text" Name="EpiwManagerYN" DisplayName="$Resources:X.CBAS.TargetedNav,FieldEpiwManagerYN;" StaticName="EpiwManagerYN" /> 
    <Field ID="{2a9ab6d3-268a-4c1c-9897-e5f018f87e64}" ReadOnly="TRUE" Filterable="FALSE" Type="Computed" Name="URLwMenu" DisplayName="$Resources:core,URL;" DisplayNameSrcField="URL" ClassInfo="Menu" AuthoringInfo="$Resources:core,URLwEditMenu;" ListItemMenuAllowed="Required" LinkToItemAllowed="Prohibited" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="URLwMenu"> 
    <FieldRefs> 
     <FieldRef Name="URL" /> 
     <FieldRef Name="FileLeafRef" /> 
     <FieldRef Name="FileRef" /> 
     <FieldRef Name="FSObjType" /> 
     <FieldRef Name="_EditMenuTableStart2" /> 
     <FieldRef Name="_EditMenuTableEnd" /> 
    </FieldRefs> 
    </Field> 
    <Field ID="{7A7F3660-D408-4734-9AA0-2D86E33D79AB}" ReadOnly="TRUE" Filterable="FALSE" Type="Computed" Name="URLwMenu2" DisplayName="$Resources:core,URL;" DisplayNameSrcField="URL" ClassInfo="Menu" AuthoringInfo="$Resources:core,URLwEditMenu; (old)" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="URLwMenu2"> 
    <FieldRefs> 
     <FieldRef Name="URL" /> 
     <FieldRef Name="FileLeafRef" /> 
     <FieldRef Name="FileRef" /> 
     <FieldRef Name="FSObjType" /> 
     <FieldRef Name="_EditMenuTableStart" /> 
     <FieldRef Name="_EditMenuTableEnd" /> 
    </FieldRefs> 
    </Field> 
    <Field ID="{aeaf07ee-d2fb-448b-a7a3-cf7e062d6c2a}" DisplaceOnUpgrade="TRUE" ReadOnly="TRUE" Filterable="FALSE" Type="Computed" Name="URLNoMenu" DisplayName="$Resources:core,URL;" DisplayNameSrcField="URL" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="URLNoMenu"> 
    <FieldRefs> 
     <FieldRef Name="URL" /> 
     <FieldRef Name="FileLeafRef" /> 
     <FieldRef Name="FileRef" /> 
     <FieldRef Name="FSObjType" /> 
    </FieldRefs> 
    </Field> 
</Fields> 

Đoạn code dưới đây cho thấy nơi tôi đang chạy vào lỗi - một lần nữa, không có gì đặc biệt:

SPQuery query = new SPQuery() { Query = this.filterQuery }; 

//Loop through the returned URL(s) and add them to the list 
foreach (SPItem item in list.getItems(query)) { //<-- Error happens here, when getting the enumerator for the SPListItemsCollection 
     returnValue.Add(this.getUrlFromItem(item)); 
} 

Và cuối cùng, CAML:

<Where> 
    <FieldRef Name="Source" /> 
    <Value Type="Text">http://dev01:80/Pages/default.aspx</Value> 
</Where> 

Bất kỳ ý tưởng nào về những gì có thể xảy ra ở đây sẽ được HUGELY đánh giá cao!

Trả lời

12

Tôi đã phát hiện sự cố - cú pháp CAML kém.

Các CAML xấu:

<Where> 
    <FieldRef Name="Source" /> 
    <Value Type="Text">http://dev01:80/Pages/default.aspx</Value> 
</Where> 

Các CAML thích hợp:

<Where> 
    <Eq> 
    <FieldRef Name="Source" /> 
    <Value Type="Text">http://dev01:80/Pages/default.aspx</Value> 
    </Eq> 
</Where> 

Kỳ lạ thay, tôi chưa bao giờ thấy CAML xấu kết quả cú pháp trong một lỗi như thế này.

+3

Điều đó thực sự khá phổ biến, "Không thể hoàn thành hành động này" = "Lỗi trong CAML", có một số "Thú vị" với chính bản thân mình trong quá khứ –

+0

Cảm ơn bạn đã cung cấp câu trả lời! Tôi đã có cùng một vấn đề trong một tình huống rất giống nhau .. :) – Abbas

Các vấn đề liên quan