c# - ASP.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 。如何将服务绑定到所有接口?
解决方案
感谢 Lex Li;他的评论为我指明了正确的方向。以下代码有效:
new HttpSelfHostConfiguration($"http://{IPAddress.Any}:{ConfigurationSettings.AppSettings["port"]}/")
推荐阅读
- unity3d - 我的播放器(键盘)控件在 Unity 中非常敏感
- javascript - 在 Javascript 中将 JSON 转换为 HTML
- javascript - 如何通过电子邮件发送 d3 js 图表?
- android - 显示 DialogFragment 时如何捕获所有 GenericMotionEvent?
- vb.net - 有没有办法可以更快地写入 CSV?
- php - 如何在 PHP 中转换嵌套的 JSON 数组
- html - 是否有可能在固定的父 div 中存在一个相对于页面的子 div?
- java - javaFX的新手从密码和文本字段中获取字符串
- symfony - 更改 Symfony 公共目录以适应网站
- c# - 当一个服务依赖于另一个服务时,依赖注入的解决速度不够快