【发布时间】:2019-07-11 08:00:43
【问题描述】:
假设我有一些来自 ASP.NET MVC Core 应用程序的类似代码:
public static void Main(string[] args)
{
Console.Title = "IdentityServerWithAspNetIdentity";
var seed = args.Any(x => x == "/seed");
if (seed) args = args.Except(new[] { "/seed" }).ToArray();
var host = BuildWebHost(args);
if (seed)
{
SeedData.EnsureSeedData(host.Services);
return;
}
host.Run();
}
如何将“/seed”参数传递给此方法(为数据播种)?到目前为止,我已经尝试过:
1) 这个:
没有参数传递给 Main。
2) 看过这里(以及其他地方):
【问题讨论】:
-
@Liam 这是关于在配置中使用命令行参数。 OP在问为什么没有参数开始。不足为奇,因为网站不是从命令行启动的
-
@w0051977 您正在启动 IIS Express,而不是应用程序。您的调试设置显示“以
/seed作为参数启动 IIS Express” -
@Panagiotis Kanavos,当我在 Visual Studio 中开始调试时,肯定会调用 main - 我添加了一个断点来检查。
-
@w0051977 是的,但是您将参数传递给 IIS,而不是应用程序。您正在启动 IIS Express,然后它会启动应用程序。您是否尝试过更改
Launch设置? -
@Panagiotis Kanavos,非常感谢。将“启动”更改为“项目”解决了它。请发布答案,以便我给予信任。 +1 表示:“您正在启动 IIS Express,而不是应用程序”
标签: c# .net-core asp.net-core-mvc