2009-09-27 2 views
0

배경NHibernate에, WCF 및 SqlServerCE - 예외 발생로드 드라이버

내가 NHibernate에 사용하는 BLL의 DLL이있다. 클라이언트 응용 프로그램과 WCF 서비스 (클라이언트가 다른 컴퓨터에서 실행되는 경우에도)간에 동일한 BLL을 공유합니다.

클라이언트 응용 프로그램과 함께 BLL과 함께 SqlServerCe 또는 SqlServer 드라이버를 성공적으로 사용할 수 있지만 WCF 용 SqlServer 드라이버 만 사용할 수 있습니다.

SQL Server를 사용하도록 hibernate.cfg.xml을 변경하면 예외가 발생하지 않고 필요한대로 서비스를 사용할 수 있습니다.

오류

log4net 출력에서 ​​정확한 오류는 다음과 같습니다

2421, 5, DEBUG, NHibernate.Connection.DriverConnectionProvider, (null),Obtaining IDbConnection from Driver 
2483, 5, DEBUG, NHibernate.Connection.DriverConnectionProvider, (null),Exception thrown obtaining connection: Exception has been thrown by the target of an invocation. 

나는 또한 파일 뒤에 내 WCF 코드에 다음 코드가 있습니다

AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true); 

주의를

,210
  • WCF bin 디렉토리는 모든 System.Data.SqlServerCe.dll을가 System.Data.SqlServerCe.dll을가 추가 된 경우 문제가되지 않음 GAC
  • 에있는 경우 문제가되지 않습니다 DLL의 NHibernate에와 SqlServerCe
  • 에 대한 요구 포함 어셈블리
  • 운영 체제에서 web.config 파일 내가 소형 전자와 아무 제거, 윈도우 서버 2003 R2 SP2
  • .NET 프레임 워크 3.5SP1는
  • 비주얼 스튜디오 2008은 그냥 넣다
  • 을 설치 설치되어 dition하지만 여전히 문제

문제를 해결하지 못할

NHibernate에이 SqlServerCe 프레임 워크를로드 할 수없는 이유를 어떻게 시도하고 결정하는 것?

문제를 정확하게 파악하여 해결 방법을 찾을 수 있도록 포렌식 분석을 수행 할 수 있습니까? 1

업데이트 Incase의 내가 그냥 간단한 웹 사이트를 만들어 성공적으로 SDF 데이터베이스에 하드 코딩 된 경로를 사용하여 레코드를 삽입 및 검색 할 ORM을 사용할 수 있어요 내 코드이었다. webservice에 대해 동일한 최대 절전 모드 구성 파일을 사용하면 예외가 생성됩니다. 이렇게하면 WCF 구현 문제가 좁혀집니다.

답변

0

글쎄, ASP.NET 임시 캐시를 지우지 않고 아무것도하지 못했고 내 사이트를 삭제하고 다시 게시하면 아무 효과가 없었지만 Windows 2003 R2 SP2 O/S에서 VM 스냅 샷으로 되돌릴 수있었습니다!

업데이트 또는 본인이 문제를 일으킨 운영체제를 처리해야합니다.

SQL이 환경에서 성공적으로 실행되지 않지만 적어도 NHibernate 드라이버가로드되어 실행 중일 때 다른 문제가 발생합니다.

업데이트 : 그래, 나는 NHibernate가 SQL Server와 계속 대화 할 때만 얻을 수 있으며 이것은 웹 서비스 엔드 포인트에서 유효합니다. 나중에 문제를 조사 할 것입니다. 다른 의견이 추가되지 않았으므로이 답변을 올바른 것으로 표시하십시오.