2010-07-06 2 views
0

나는 자격 증명을 테스트하기 위해이 메서드를 작성했지만 GetResponse 메서드가 실제로 웹 서비스를 실행하고 실행하는 이유를 모르겠습니다. 웹 서비스의 자격 증명이 맞는지 아닌지를 테스트하기를 원할뿐입니다.자격 증명을 테스트하는 데이 코드에 문제가 있습니까?

private bool TestCredentials(string sURL, ref string sUsername, ref string sPassword) 
    { 

     bool retVal = false; 
     CredentialCache myCache = new CredentialCache(); 
     myCache.Add(new Uri(sURL), "Full", new NetworkCredential(sUsername, sPassword, "our_domain")); 

     HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sURL); 
     request.Credentials = myCache; 
     HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
     if (response.StatusCode == HttpStatusCode.OK) 
      retVal = true; 
     return retVal; 

답변

0

자격 증명이 서버와의 통신의 어떤 종류없이 좋은 경우는 알 수 없다. 테스트 요청을 실행하기위한 더미 URL을 만들 수 있습니다. IE에서 요청할 수있는 URL은 서버에서 실제로 아무것도 수행하지 않는 것입니다.

+0

더미 URL? 실제 asmx 주소를 전달하는 대신에 예를 들어 http://www.google.com을 전달합니까? 여전히 동일한 자격 증명을 가지고 있습니까? 하지만 그 서버에서 다른 URL을 의미한다면, 이것이 우리가 가지고있는 유일한 URL입니다. – Bohn

+0

서버를 제어 할 수 있습니까? 그렇지 않으면 할 수있는 일이 많지 않습니다. 요청 (IE,'GetResponse' 호출)은 액션을 실행합니다. 내가 의미하는 바는 아무것도하지 않는 웹 서비스에 또 다른 기능을 추가하는 것이었다. –