2009-04-08 4 views
0

하나의 호출 만 노출하는 .asmx 웹 서비스가있는 경우. 하나의 매개 변수를 사용하여 SQL Server 2005 테이블의 레코드로 해당 값을 삽입합니다. 이 메서드는 ADO.NET 연결 풀에 "친절"한 것처럼 보이게하려면 어떻게해야합니까? 여러 클라이언트를 통해 초당 10 회 정도 호출 될 경우 어떨까요? 내가 조정해야하는 다른 설정은 무엇입니까? 연결 풀은 문제가 있다면웹 서비스, ADO.NET 연결 풀, 제한 시간 오류

System.Web.Services.Protocols.SoapException:
Server was unable to process request --> System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to the operation or the server is not responding.

오류가 달라집니다 :

은 현재 내가 오류를 받고 있어요? 연결 풀 문제, SOAP 제한 또는 내 데이터베이스가 너무 바빠 통화가 실제로 시간 초과되는지 여부를 어떻게 알 수 있습니까?

답변

1

당신이하고있는 일에 대한 가장 중요한 정보를 게시하지 않았습니다. 웹 메쏘드라는 사실은 빨간 청어라고, 단순히 데이터베이스 문제와 얼마나 많은 것을 망치고있는 것일까 요.

여기에 연결 문제가있을 수 있습니다 (예외 상황이 풀과 관련이 없다고 생각됩니다). 연결을 열려고 할 때 또는 작업을 실행하려고 할 때 이것을 얻고 있습니까? 각각은 별도의 타임 아웃을 가지고 있으므로 명시 적으로 연결을 연 다음 작업을 호출하면 타임 아웃이 발생한 위치를 알 수 있습니다.

또한, 나는 당신이 거래를 사용하고 있는지 볼 것입니다. 이 연결에 포함되어 있고 시간 제한이 작업에 있고 트랜잭션을 사용하는 경우 트랜잭션에 랩핑 된 다른 곳 (읽기 또는 쓰기)에서이 테이블에 액세스하기 위해 트랜잭션을 사용하고 있습니까? 이 시점에서 교착 상태에 빠질 수 있습니다.

그렇지 않은 경우 연결 문제이며 시스템과 서버가 올바르게 구성되어 있는지 확인해야합니다 (tcp ip, named pipes 또는 shared memory를 사용하고 있습니까). 예) 데이터베이스 조작.

+0

+1. 웹 서비스를 배제 해 주셔서 감사합니다. TCP/IP를 사용 중이며 트랜잭션이 없습니다. 다른 컴퓨터에서 큐브 작성 작업을 수행하기 전에 SSIS 패키지의 데이터 준비 작업에서이 컴퓨터에 많은 작업이 수행 될 수 있습니다. BI 또는 DBA 팀이 아니기 때문에이 물건은 약간 손에 꼽습니다. – BuddyJoe

+0

나는 다음 주에이 코드를 더 자세히 이해해야합니다. 나는 한 가지 방법으로 위생 처리를 할 수 있어야하고, 두 가지를 게시 할 수 있어야한다. 웹 서비스 전체에 독점적 인 것들이 뿌려져 있습니다. – BuddyJoe