ASP.NET无法绑定到所有接口

时间:2019-05-25 13:14:45

标签: c# asp.net .net

我尝试创建一个asp.net服务;如果我尝试在本地访问它,它将起作用。但是无法从远程位置访问它。

在我用来实例化服务器的代码下面:

using System;
using System.Web.Http;
using System.Web.Http.SelfHost;
using System.Configuration;

namespace RESTService
{
  public class Service : IDisposable
  {
    private HttpSelfHostServer server;

    public Service()
    {
      var config = new HttpSelfHostConfiguration($"http://*:{ConfigurationSettings.AppSettings["port"]}/");
      config.Routes.MapHttpRoute("TTS", "{controller}/{text}",
        new[] { "RESTService.Controller" });

      server = new HttpSelfHostServer(config);
    }

    public void Run()
    {
      server.OpenAsync().Wait();
    }

    public void Dispose()
    {
      server.Dispose();
    }
  }
}

我按照Web API self host - bind on all network interfaces中的描述,用*替换了localhost。不幸的是,我得到了与此代码的UriFormatException。如何将服务绑定到所有接口?

1 个答案:

答案 0 :(得分:0)

感谢Lex Li;他的评论为我指明了正确的方向。以下代码有效:

new HttpSelfHostConfiguration($"http://{IPAddress.Any}:{ConfigurationSettings.AppSettings["port"]}/")