这是我很难弄清楚的问题。我想用ASP.NET Core应用程序制作微服务。我已经能够将.NET Core与Kestrel一起部署为边缘服务器,并在诸如Nginx之类的代理之后。这似乎是半无关紧要的,所以还没有花很多时间,但是当我的应用程序启动时,我无法弄清楚如何在root以外的其他URL上登陆。换句话说,我更改了默认路由,这是一个mvc应用程序,并在Startup.cs
中添加了这样的前缀:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "SqlServer/{controller=Home}/{action=Index}/{id?}");
});
在生产中,这不是问题,默认路由是什么都没关系,但是当我在VisualStudio中进行开发并按一下播放时,我得到了空白的浏览器,因为它指向的是“ /”而不是“ / SqlServer”。知道如何解决这个问题吗?
Program.cs
也相关:
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
return WebHost.CreateDefaultBuilder(args)
.UseKestrel(options =>
{
options.Limits.MaxConcurrentConnections = 100;
options.Limits.MaxConcurrentUpgradedConnections = 100;
options.Limits.MaxRequestBodySize = 10 * 1024;
options.Limits.MinRequestBodyDataRate = new MinDataRate(bytesPerSecond: 100, gracePeriod: TimeSpan.FromSeconds(10));
options.Limits.MinResponseDataRate = new MinDataRate(bytesPerSecond: 100, gracePeriod: TimeSpan.FromSeconds(10));
options.Listen(IPAddress.Any, 5000);
options.Listen(IPAddress.Any, 5001, listenOptions =>
{
listenOptions.UseHttps("/Users/ryandines/DevelopmentCode/ExampleProject/testCert.pfx", "notMyPassword");
});
}).UseStartup<Startup>();
}
}
答案 0 :(得分:0)
有2种更改此设置的方法。
手动向配置文件添加launchUrl
属性,例如:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:1234/",
"sslPort": 0
}
},
"profiles": {
"<name of profile>": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "http://localhost:1234/cheese",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Local"
}
},
//etc...