卡住了ASP.NET Core 2.1的初始化顺序

时间:2018-07-18 21:43:17

标签: asp.net asp.net-mvc devops

这是我很难弄清楚的问题。我想用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>();
    }
}

1 个答案:

答案 0 :(得分:0)

有2种更改此设置的方法。

使用Visual Studio

  1. 右键单击项目,选择“属性”
  2. 选择“调试”标签
  3. 在“启动浏览器”复选框旁边,输入要在应用运行时启动的URL。

手动编辑设置

手动向配置文件添加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...