SPSite 개체를 사용할 때 SPContext.Current.Web.URL과 SPContext.Current.Site의 차이점은 무엇입니까?

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/95812

  •  10-12-2019
  •  | 
  •  

문제

SPSite spsite1=new SPSite(SPContext.Current.Web.URL);

SPSite spsite2=SPContext.Current.Site;

차이점은 무엇이며 어느 것을 사용할지 언제 결정합니까?

둘 다 우리에게 사이트 모음 개체를 제공한다고 생각합니다.

예: SPWeb spweb=spsite1.RootWeb; 같은 뜻이겠지 spsite2.RootWeb; 그렇다면 왜 두 가지 방법이 있습니까?

도움이 되었습니까?

해결책

SPSite spsite1=new SPSite(SPContext.Current.Web.Url); 줄 것입니다 당신 SPSite 체입니다.하지만 그것은 사이트 컬렉션의 경우에만 해당 개체 SPContext.Current.Web.Url 는 루트 web.는 경우 웹 개체는 하위 사이트로 다음 SPSite 체할 수 없는 사이트 컬렉션 개체입니다.두 번째 성명 SPSite spsite2=new SPSite(SPContext.Current.Site); 은 잘못이 없기 때문에 과부하의 SPSiteSPSite 으로 매개 변수입니다.

업데이트

면 의도 rootweb 다음 두 번째는 더 나은 방법으로 당신은하지 않은 새 인스턴스화 SPSite 체입니다.또한,처음에는 경우리 SPSite 체로 만들고 있는 새로운 중 하나에 비해 두 번째는 SPSite 가를 통해 검색 SPContext 하지 않아야 하는 처분을 명시적으로 나와 있습니다.

다른 팁

모두 1 의고 site2 반환합니다 같은 사이트 컬렉션(SPSite)객체입니다.를 호출하여 RootWeb 시설 모두에 객체를 얻을 수 있습니다 우리는 동일한 최고 수준의 웹 사이트(합)객체입니다.

Instruction1:SPSite spsite1=new SPSite(SPContext.현재 있습니다.웹.한 URL);

과정:면 우리는 하위 사이트하고 우리는 위의 코드는,첫째 그것은 현재 하위 웹 url 을 전달하 SPSite 생성자를 얻는 현재 사이트 컬렉션 개체입니다.

Instruction2:SPSite spsite2=SPContext.현재 있습니다.사이트;

과정:이제 우리는 하위 사이트하고 우리는 위의 코드는 바로 retrives 사이트 컬렉션 개체입니다.이 없고 웹을 위한 url 매개 변수를 얻 SiteCollection.

결과:

spsite1.RootWeb 및 spsite2.RootWeb 반환하는 동일한 최고 수준의 웹 합 개체입니다.

spsite1.Openweb 이()반환 하위 사이트(합)객체는 경우 우리는 하위 사이트입니다.spsite2.Openweb 이()반환한 최고 수준 사이트(합)객체에도,우리는 하위 사이트입니다.

에 대한 spsite1,우리는 전화를 폐기하는 방법을 폐기하 SPSite 개체입니다.하지만 대 spsite2,sharepoint 이 돌에서의 폐기 SPSite 개체입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top