Asp.net mvc .Net Framework Web Api自主机服务突然停止
我创建了一个简单的Web Api selfHost as windows服务,它侦听从数据库动态加载的地址,通常包括端口号(如:http://localhost:1900) 当我更改地址时(例如端口号,类似http://localhost:1901)服务可以捕获新端口上的请求,但旧端口(http:localhost:1900)上的请求会导致服务崩溃,服务将停止。 我可以调试我的服务,只看到null引用错误,没有更多的信息。 我甚至不知道这个错误发生在哪里,没有我的日志可以帮助我。 你对这个错误怎么看?你以前见过这种错误吗Asp.net mvc .Net Framework Web Api自主机服务突然停止,asp.net-mvc,asp.net-web-api,self-host-webapi,Asp.net Mvc,Asp.net Web Api,Self Host Webapi,我创建了一个简单的Web Api selfHost as windows服务,它侦听从数据库动态加载的地址,通常包括端口号(如:http://localhost:1900) 当我更改地址时(例如端口号,类似http://localhost:1901)服务可以捕获新端口上的请求,但旧端口(http:localhost:1900)上的请求会导致服务崩溃,服务将停止。 我可以调试我的服务,只看到null引用错误,没有更多的信息。 我甚至不知道这个错误发生在哪里,没有我的日志可以帮助我。 你对这个错误怎
class service
{
HttpSelfHostConfiguration config;
HttpSelfHostServer server;
Timer _timer = new Timer();
protected override void OnStart(string[] args)
{
_timer.Interval = 2000;
_timer.Elapsed += _timer_Elapsed;
_timer.Enabled = true;
}
private void _timer_Elapsed(object sender, ElapsedEventArgs e)
{
var listenToUrl = _getDestUrlFromDB();
var configChanged = false;
if (config != null && config.BaseAddress.AbsoluteUri != listenToUrl + "/")
{
configChanged = true;
config.Dispose();
}
config = new HttpSelfHostConfiguration(uploadApiUrl.Data);
config.Routes.MapHttpRoute("default",
"api/{controller}/{id}",
new { controller = "Home", id = RouteParameter.Optional });
config.ClientCredentialType = System.ServiceModel.HttpClientCredentialType.Windows;
if (server == null)
{
server = new HttpSelfHostServer(config);
var task = server.OpenAsync();
task.Wait();
}
else if (configChanged)
{
try
{
Process.Start("cmd", $@"netsh http add urlacl url={listenToUrl} ");
Process.Start("cmd", $@"delete urlacl url={listenToUrl} ");
server.Dispose();
server = new HttpSelfHostServer(config);
var task = server.OpenAsync();
task.Wait();
}
catch (Exception ex)
{
}
}
}
}
这是否回答了您的问题?描述:由于未处理的异常,进程已终止。异常信息:System.Web.Http.SelfHost.HttpSelfHostServer上的System.NullReferenceException。你能在服务器的设置上发布一些代码吗?谢谢你@(Peter Bons)的回复,但是没有!这不是我的答案,我知道NullReference是什么意思,但我的问题是,我如何才能找到它来自哪里?因为我在代码中设置了varous log,但没有得到anything@PeterBons我编辑了我的问题并添加了我的类