我尝试在 CentOS 上部署 asp.net web.api 应用程序。当我使用 dotnet /var/www/html/CoreApiTest.dll 手动运行它时,它工作正常(使用 apache 作为代理)。当我使用服务来运行它时,出现错误。这是服务代码:
[Unit]
Description=Example .NET Web API Application running on CentOS 7
[Service]
WorkingDirectory=/var/www/html/CoreApiTest
ExecStart=/usr/bin/dotnet /var/www/html/CoreApiTest.dll
Restart=always
# Restart service after 10 seconds if dotnet service crashes
RestartSec=10
SyslogIdentifier=dotnet-example
User=apache
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
我使用安装它systemctl enable kestrel-CoreApiTest.service。然后启动它并检查状态:systemctl status kestrel-CoreApiTest.service并收到此错误:
kestrel-CoreApiTest.service - Example .NET Web API Application running on CentOS 7
Loaded: loaded (/etc/systemd/system/kestrel-CoreApiTest.service; enabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Thu 2017-11-02 21:27:35 MSK; 5s …Run Code Online (Sandbox Code Playgroud) 是否有机会让 http get 请求、读取标头而不是获取正文以减少流量和提高速度?我使用这个代码:
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(u1);
request.AllowAutoRedirect = true;
request.Timeout = 30000;
request.Method = "GET";
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36";
request.KeepAlive = true;
HttpWebResponse response;
using (response = (HttpWebResponse)request.GetResponse())
{
var res = response.ResponseUri.ToString();
}
Run Code Online (Sandbox Code Playgroud)
所以我只需要结果网址。如果有重定向(位置标头) - 我会得到结果 url。但我不需要身体。使用 GET 方法(不是 HEAD 方法)获得响应以在没有响应正文的情况下获得结果是否真实?