App.config에서 연결 문자열 액세스: NullReferenceException 방지
App.config 파일에서 연결 문자열을 검색하려면 NullReferenceException
오류를 방지하기 위해 신중하게 처리해야 합니다. 다음 코드 예제를 고려해보세요.
<code class="language-csharp">var connection = ConnectionFactory.GetConnection( ConfigurationManager.ConnectionStrings["Test"] .ConnectionString, DataBaseProvider);</code>
이 코드 조각은 다음과 같이 표준 App.config 파일과 함께 사용되는 경우입니다.
<code class="language-xml"><?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add connectionString="Data Source=.;Initial Catalog=OmidPayamak;Integrated Security=True" name="Test" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration></code>
연결 문자열 "Test"를 찾을 수 없으면 NullReferenceException
을 던질 수 있습니다. 문제는 null을 확인하지 않고 .ConnectionString
에 직접 접근하는 데 있습니다.
강력한 솔루션에는 해당 속성에 액세스하기 전에 연결 문자열의 존재를 확인하는 것이 포함됩니다.
<code class="language-csharp">var connectionString = ConfigurationManager.ConnectionStrings["Test"]; if (connectionString != null) { var connection = ConnectionFactory.GetConnection(connectionString.ConnectionString, DataBaseProvider); // ... use the connection ... } else { // Handle the case where the connection string is not found. // Log an error, throw an exception, or use a default connection. }</code>
또는 null 조건부 연산자(?.)를 사용하여 보다 간결한 접근 방식을 사용할 수 있습니다.
<code class="language-csharp">var connection = ConnectionFactory.GetConnection( ConfigurationManager.ConnectionStrings["Test"]?.ConnectionString, DataBaseProvider);</code>
"Test"가 누락된 경우 connection
를 null로 설정하여 null 사례를 적절하게 처리합니다. 이 시나리오에서는 적절한 오류 처리를 추가하는 것을 잊지 마세요.
마지막으로 프로젝트에 System.Configuration.dll
에 대한 참조를 포함하는 것을 잊지 마세요. 이 어셈블리는 구성 설정에 액세스하는 데 필요한 클래스를 제공합니다. 이 참조가 없으면 컴파일이 실패합니다.
위 내용은 App.config에서 연결 문자열을 검색할 때 '개체 참조가 개체의 인스턴스로 설정되지 않음'을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!