title: Generating absolute url to action from within Api controller
body: <p>im working with asp.net mvc4 and i have in 'controller1' this action :</p>
  
  <pre><code>    [HttpGet]
      public async Task&lt;string&gt; Action1()
      {
          try
          {
              HttpClient cl = new HttpClient();
              string uri = "controller2/action2";
              HttpResponseMessage response = await cl.GetAsync(uri);
              response.EnsureSuccessStatusCode();
              return response.ToString();
          }
          catch
          {
              return null;
          }
      }
  </code></pre>
  
  <p>when i set uri to <code>"http://localhost:1733/controller2/action2"</code> the action works fine, BUT never with uri set to "controller2/action2" or "/controller2/action2" or "~/controller2/action2".</p>
  
  <p>how can i write this action without hardcoding the uri ?</p>
  
  <p>Thank you.</p>