2012-10-02 3 views
0

ASP.net에서 개발 한 웹 응용 프로그램에 문제가 있습니다.SQL 서버 연결에 실패했습니다.

실제로 기능을 추가하고 있습니다. 이전 버전이 정상적으로 작동합니다.

이것은 판매자 웹 사이트이며 사용자가 장바구니에 항목이 두 개 이상 있으면 문제가 나타납니다. 이 경우에 (두 항목의 exemple)는,이 코드는 2 회 호출됩니다

System.Configuration.Configuration WebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); 
System.Configuration.ConnectionStringSettings connString = WebConfig.ConnectionStrings.ConnectionStrings["ConnectionString"]; 
SqlConnection connection; 

connection = new SqlConnection(connString.ConnectionString); 

if (connection.State == ConnectionState.Closed) 
    connection.Open(); 

이 통과 처음,하지만 두 번째는 내가 "Échec 드 난 ouverture 드 세션 드 난 utilisateur 오류를 얻을 'IIS APPPOOL \ XXXXX'. " 무슨 뜻 "사용자 'IIS APPPOOL \ XXXXX'의 세션을 열지 못했습니다.".

나는 모든 연결에 동일한 코드 부분을 사용하며이 문제가 발생하지 않습니다.

제한된 연결 수에 대해 생각했지만 SQL Server에서 illimited로 설정되었습니다.

의견이 있으십니까? 고맙습니다.

+2

연결을 만든 직후에 연결 상태를 확인하는 이유는 무엇입니까? –

+0

앱이 내 것이 아니기 때문에이 부분의 이유를 모르겠습니다. 디버그 모드에서 볼 수 있듯이 생성 후 항상 닫힙니다. –

답변

0

web.config에서 자격 증명을 확인하십시오. 는 또한 또한, "사용"블록에 포함하거나 안전하게 가까운 & 당신의 연결 및 관련 개체를 처리 할 수있는 마지막/시도 기억

WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 

처럼 뭔가를 연결 문자열 게터을 변경합니다.

+0

실제로 Windows 인증을 사용합니다.

+0

이 줄은 데이터베이스 인증과 관련이 없으며 웹 사이트 인증과 관련이 있습니다. http://msdn.microsoft.com/en-us/library/aa291347(v=vs.71).aspx – Oscar

+0

그래서 설정 파일에 "자격 증명"을 지정하지 않았습니다. 하지만 이것이 문제의 원인이 아니라고 생각합니다. 다른 모든 경우에는 연결이 작동합니다. –

1

각 호출 후에 sqlconnection이 제대로 닫히지 않았다고 생각합니다. 이것을 시도하십시오 -

string connString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 

using(SqlConnection connection = new SqlConnection(connString)) 
{ 
    connection.Open(); 
    //your code goes here 
} 

** 사용중인 블록은 열려있는 sqlconnection을 자동으로 삭제합니다.

+0

그래도 같은 예외가 발생하지만, 내가 게시 한 코드 부분은 메소드가 시작될 때 나타납니다. –

+0

@EdouardGarraud는 메소드 코드를 게시 할 수 있습니까? 질문을 편집하고 거기에 코드를 추가하십시오. . – th1rdey3

관련 문제