2009-11-11 3 views
2

개체 모델 또는 STSADM 명령을 사용하여 SharePoint에 배포하면 때때로 하나 이상의 패키지가 웹 컨트롤의 "오류"상태가되며 재배포하면 즉시 해결됩니다. 대개 낯선 사람이라면 두 개의 앱 하나를 추가하고 하나는 배포해도 문제가 없지만 하나의 프로그램 사이에 지연을 가하는 것은 비슷한 효과가 없습니다.개체 모델을 사용하여 SharePoint에 배포하는 작업이 안정적으로 수행되지 않음

성공적으로 배포하지 않은 프로그램에 대해 deploy를 두 번 실행하면 아무런 효과가없는 경우 프로그래밍 방식으로 시도하지 않는 한 정상적으로 작동합니다.

파일이 다르며 때로는 없음입니다.

추가 및 배포 사이, 심지어 두 개의 배포 묶음 사이에서도 stsadm -execadmsvcjobs를 사용합니다. (약 10 개의 wsp 파일을 프로그래밍 방식으로 배포하고 있습니다.)

아무도 이런 일이 발생하는 이유에 대해 아이디어가 있습니까? 또는 문제를 일으키는 구현을 할 때 문제를 해결하는 방법.

+1

에 오신 것을 환영합니다 :)이 좋은 제품 :) –

+0

내가 작업 사이에 IIS를 재설정 호출 시도 이후 한 또 다른 좋은 예를 수정해야합니다, execadmjobs뿐만 아니라 여전히 운이 없다. 심지어 실패했는지 확인하고 다시 배포하는 것도 효과가 없다!하지만 사용자 인터페이스로 이동하면 문제없이 배포된다 ...! – Nath

답변

1

문제는 SharePoint가 응용 프로그램 풀 재활용 및/또는 전체 iisreset을 수행 할뿐만 아니라 SharePoint Timer Service를 다시 시작한다는 사실에 있습니다. 방금 설치 한 패키지 셰어 포인트를 배포하려고 시도하는 경우에도 여전히 작업량이 많아지고 다시 실행되는 중입니다. 설치/배포하기 위해 만든 타이머 작업은 기본적으로 중앙 관리 응용 프로그램 풀이 완전히 다시 실행되기를 기다리고 있습니다.

해결책을 철회하는 동안 같은 일이 (다소 재생산 가능) 발생합니다. 리 트랙트 프로세스가 진행되는 동안 솔루션 관리 페이지에서 F5 키를 누르십시오. 충분히 빨리 새로 고치면 멈추고 "오류"가 빨간색으로 표시됩니다.

내 솔루션은 배포 응용 프로그램이나 PowerShell에서 최소한 중앙 관리인 (또는 SPSite = new SPSite ("centraladminurl") 만 수행)에 대한 WebRequest를 만드는 것이 었습니다. 모든 배포 작업 후에도이 작업을 수행하십시오.

타이밍 문제 (race condition" "의 기본적 종류). 셰어

+0

모든 solution.deploy 명령을 수행 한 후 SPSite temp = new SPSite (centralAdminURL); temp.Dispose(); 그러나 add 및 deploy rou를 실행하면 tine은 여전히 ​​임의의 양의 오류 상태 솔루션을 남깁니다. 중앙 관리인에게 웹 요청을 작성하면 코드에서 정확히 어떻게 처리 할 수 ​​있습니까? 당신을 위해 일한 것이 있습니까? 감사합니다. – Nath

관련 문제