문제

우리는 SQLSITEMAPPROVIDER 예제의 VB.NET 구현을 통해 채워진 사이트 맵을 사용하는 몇 가지 ASP.NET 응용 프로그램이 있습니다. 사악한 코드. DLL에 컴파일 된 다음 서버의 GAC와 현지인들에게도 설치 및 참조됩니다. 그것은 몇 달 동안 생산에서 잘 작동했습니다. 또한 SQL Server 2008을 사용하고 있음에 주목해야합니다.

오늘 우리는 제작에 들어 와서 어떤 응용 프로그램에 대한 Prod의 사이트 맵에 메뉴 항목이 전혀 표시되지 않았다는 것을 알았습니다. Dev & Qa는 괜찮아 보였다. 우리는 SQLSITEMAPPROVIDER를 구현하기 훨씬 전에 PROD의 SQL Server에 대한 수석을 수행하지 않았습니다. 또한 최근 웹 앱을 업데이트하지 않았습니다.

내가 한 첫 번째 일은 prod web.config를 가져 와서 IDE의 web.config로 설정하고 앱을 실행하는 것이 었습니다. 여전히 같은 문제입니다. 버그가 내 컴퓨터에서도 복제되었으므로 IIS 문제를 배제해야합니다.

이것은 약간 시급했기 때문에, 다음으로 한 일은 단순히 Prod의 Siteemap 테이블에 더미 레코드를 삽입하여 어떤 일이 일어날 지 확인하는 것입니다. Magic과 같은 Poof는 메뉴 항목이 복원되었고 모든 것이 잘되었습니다. 더미 메뉴 항목을 삭제하고 문제없이 동기화되었습니다.

이것은 약간 무서웠고, 나는 이것이 왜 그런 일이 일어 났는지 알아 내려고 노력하고 있습니다. 전에 경험 한 사람이 있습니까? sqlsitemApprovider를 사용한 적이 없다면 - 단순히 sqldependencyCache/ asp.net 캐시를 사용하여 메뉴 항목을 저장 한 다음 링크를 반환하는 저장된 Proc의 결과 세트가 변경되면 ASP.NET에게 이런 일이 발생하고 다시 수술을합니다. 사이트 맵/캐시 ...

아마도 웹 서버와 SQL 서버 간의 연결이 어떻게 든 죽었습니까? 그리고 레코드를 삽입하면 '깨어나'고 다시 다시 연결 했습니까? 아마도 타임 아웃 값이 있거나 어떤 종류의 isstillConnected () 함수가있을 수 있습니다. 아니면 ASP.NET가 저장된 Proc가 테이블에 레코드를 삽입 할 때까지 어떤 이유로 값을 반환하지 않았다고 생각했을까요? 이 문제를 전에 본 사람이 있습니까?

모든 지침에 미리 감사드립니다.

편집 :이 모든 것이 저장된 Proc에서 설정된 노카운트에서 나왔습니다. 조심하십시오! 이것은 MSDN 문서에 있지 않으며 잠시 동안 나를 망쳐 놓았습니다!

도움이 되었습니까?

해결책 2

내 편집 확인;)

이 모든 것은 저장된 Proc에서 설정된 노 카운트를 갖는 것에서 나왔습니다. 조심하십시오! 이것은 MSDN 문서에 있지 않으며 잠시 동안 나를 망쳐 놓았습니다!

다른 팁

sqldependency는 정확히 안정성의 강국이 아닙니다. 다음은 아마도 약간의 빛을 흘릴 수있는 몇 가지 기사입니다.

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