我尝试创建一个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。如何将服务绑定到所有接口?
答案 0 :(得分:0)
感谢Lex Li;他的评论为我指明了正确的方向。以下代码有效:
new HttpSelfHostConfiguration($"http://{IPAddress.Any}:{ConfigurationSettings.AppSettings["port"]}/")