2014-10-14 4 views
0

좋아요, 배경은 이것입니다.Strange Code first Migration behavior 또는 IIS 문제가 있습니까?

지문 인식기 용 하드웨어 컨트롤러와 스캔 한 사용자가 웹 응용 프로그램에서 작업을 수행 할 수있게 해주는 웹 응용 프로그램을 만들었습니다. 웹 응용 프로그램은 Code First를 사용하여 만들어졌으며 통신은 signalr 2.0을 통해 이루어졌습니다. 내가 가진 문제는 이것입니다. 모든 것이 약 하루 동안 아름답게 작동합니다.이 작업은 반나절 정도 였지만 IIS 7.0에서는 응용 프로그램 풀의 유휴 시간을 200 분으로 변경했지만 웹 서버에서 임의의 시간에 오류가 계속 발생합니다. 계속 실행되는 시간을 연장 할 수있었습니다. 그러나, 나 혼란스러워하는 일, 그리고 일어나고있는 일을 처리 할 수없는 이유는 그것이 내려갈 때입니다.

A) 이유를 모르겠습니다. (나는 어딘가 타임 아웃으로 기울고있다)

B) 데이터베이스 구조를 변경하고 패키지 관리자 콘솔에서 Database-Update를 사용하는 것을 잊어 버렸을 때 나타나는 오류 메시지는 동일하다. 데이터베이스 변경.

c) 혼자 남겨두면 문제를 해결할 수 있습니다.

누구나 이런 행동을 보았습니까? 그렇다면 무엇이 그것을 일으켰으며 어떻게 수정 했습니까? 아니면 누군가가 이것을 디버깅 할 수있는 방법을 제공 할 수 있습니까?

도움을 주셔서 감사합니다.

켈소

답변

0

이 문제를 업데이트하기 만하면 IIS 서버가 단일 CPU 및 단일 스레드 (VMare 설정)로 설정되었고 해당 스레드가 중단되어 새 스레드를 만들 수 없음이 밝혀졌습니다. 일단 CPU를 업데이트하고 스레드 수를 5로 늘리면 모든 것이 꿈처럼 작동합니다.

0

예외가 "데이터베이스가 생성 된 이후 'YourContext'컨텍스트를 백업 모델이 변경되었습니다. 데이터베이스를 업데이트하는 코드 첫 번째 마이그레이션을 사용하는 것이 좋습니다"인 경우 해당 예외를 캐치하고 로그 시도 할 수 내용을 Application_Start에있는 메소드의 리턴 값 또는 그것이 작동 할 때마다 비교하십시오.

((System.Data.Entity.DbContext)(context)).InternalContext.QueryForModel(0) 

이 메서드는 데이터베이스 스키마의 XML 표현을 제공합니다.

+0

오류가 인스턴스간에 변경 될 수 있으며, 항목이 저장 될 때 충돌하는 변경 사항이있을 수 있다는 것이 특별한 문제는 아닙니다. –