title: Server.MapPath giving inconsistent output
body: <p>In my C# Application, inside <code>Application_Start</code> function of Global.asax (<code>D:\inetpub\wwwroot\projectApp\Global.asax</code>), I used <code>Server.MapPath</code> with path as "config\config.cfg". </p>
  
  <pre><code>String absPath = Server.MapPath("config\config.cfg");
  </code></pre>
  
  <p>It was working correctly, but intermittent, instead of mapping it to</p>
  
  <blockquote>
    <p>D:\inetpub\wwwroot\projectApp\config\config.cfg,</p>
  </blockquote>
  
  <p>it maps it to either</p>
  
  <blockquote>
    <p>D:\inetpub\wwwroot\projectApp\A\config\config.cfg, or,
    D:\inetpub\wwwroot\projectApp\B\config\config.cfg, or,
    D:\inetpub\wwwroot\projectApp\C\config\config.cfg,</p>
  </blockquote>
  
  <p>where A, B, C, are API paths and we use <code>&lt;machine name&gt;/projectApp/&lt;A/B/C&gt;</code>
  to call them. Why is it happening so?</p>
  
  <p>I changed it to,</p>
  
  <pre><code>String absPath = Server.MapPath(@"~/config/config.cfg");
  </code></pre>
  
  <p>It seems to be working fine right now. But, can it cause issues later?</p>