<html dir="LTR">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
    <title>AdoNetAppender.ResolveConnectionString Method</title>
    <xml>
    </xml>
    <link rel="stylesheet" type="text/css" href="MSDN.css" />
  </head>
  <body id="bodyID" class="dtBODY">
    <div id="nsbanner">
      <div id="bannerrow1">
        <table class="bannerparthead" cellspacing="0">
          <tr id="hdr">
            <td class="runninghead">Apache log4net� SDK Documentation - Microsoft .NET Framework 4.0</td>
            <td class="product">
            </td>
          </tr>
        </table>
      </div>
      <div id="TitleRow">
        <h1 class="dtH1">AdoNetAppender.ResolveConnectionString�Method�</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Resolves the connection string from the ConnectionString, ConnectionStringName, or AppSettingsKey property. </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Overridable�Protected�Function�ResolveConnectionString( _<br />���ByRef <i>connectionStringContext</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">String</a>�_<br />)�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">String</a></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />protected�virtual�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">string</a>�ResolveConnectionString(<br />���out�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">string</a>�<i>connectionStringContext</i><br />);</div>
      <h4 class="dtH4">Parameters</h4>
      <dl>
        <dt>
          <i>connectionStringContext</i>
        </dt>
        <dd>Additional information describing the connection string.</dd>
      </dl>
      <h4 class="dtH4">Return Value</h4>
      <p>A connection string used to connect to the database.</p>
      <h4 class="dtH4">Remarks</h4>
      <p> ConnectiongStringName is only supported on .NET 2.0 and higher. </p>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Appender.AdoNetAppender.html">AdoNetAppender Class</a> | <a href="log4net.Appender.html">log4net.Appender Namespace</a></p>
      <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;">
        <param name="Keyword" value="ResolveConnectionString method">
        </param>
        <param name="Keyword" value="ResolveConnectionString method, AdoNetAppender class">
        </param>
        <param name="Keyword" value="AdoNetAppender.ResolveConnectionString method">
        </param>
      </object>
      <hr />
      <div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2011 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div>
    </div>
  </body>
</html>
