2012-12-10 3 views
1

COM-dll에서 capsuled SOAP 클라이언트에 대해 작업하고 있습니다. 불행하게도 나는의 app.config를 제공 할 수없는, 그래서 런타임에 제 값을 삽입 할 수 있습니다런타임시 app.config의 defaultProxy를 설정하십시오.

 try 
     { 
      var dataSet = ConfigurationManager.GetSection("system.data") as System.Data.DataSet; 
      dataSet.Tables[0].Rows.Add("FirebirdClient Data Provider" 
      , ".Net Framework Data Provider for Firebird" 
      , "FirebirdSql.Data.FirebirdClient" 
      , "FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=2.6.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c");    
     } 
     catch 
     { } 

하지만 어떻게 런타임에 기본-Proxy를 설정하는 생각이 없습니다 :

<system.net> 
    <defaultProxy useDefaultCredentials="true"/> 
</system.net> 

이 옵션이 없으면 프록시를 통해 통신 할 수 없습니다.

BasicHttpBinding basicHttpBinding = new BasicHttpBinding(); 
EndpointAddress endpointAddress = new EndpointAddress(Adress); 

ServiceReference.DataTransferationServiceSoap serviceClient = new ServiceReference.DataTransferationServiceSoapClient(basicHttpBinding, endpointAddress); 

serviceClient.doSomething(); 

런타임시 useDefaultCredentials를 어떻게 설정합니까?

답변

3

당신은 다음을 수행 할 수 있어야한다 :

WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultCredentials; 

useDefaultCredentials="true"하는 것과 같은 효과를해야 기본 자격 증명에 기본 웹 프록시로 사용하는 자격 증명을 설정합니다.

+0

완벽하게 작동합니다. 고마워요 ^^ – Dust258

관련 문제