我希望将此本地环境切换为使用Windows身份验证,以便于在代码中使用以下逻辑。
User.IsInRole("BRV_Projects_Edit");我使用下面的命令在windows环境中本地启动dotnet core:
"dotnet run"我的理解是这将启动Main()入口点
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>().UseIIS();
}UseIIS()是否指示这将在本地启动IISExpress?这是否意味着我应该能够找到web.config来更改身份验证方案?
发布于 2019-01-30 07:14:58
简而言之,不是。dotnet CLI无法启动IIS Express,因为它不是跨平台的(请参阅Visual Studio Developer社区网站上的this answer。如果您使用dotnet run,那么它将在Kestrel中托管应用程序
UseIIS()、UseIISIntegration()和UseKestrel()调用使您的应用程序能够托管在不同的环境中,但不会实际启动这些主机。
实际使用的主机在launchsettings.json文件中定义,该文件应该是您的web应用程序的一部分(在Visual Studio解决方案资源管理器中的属性下)。
而且,您不需要自己添加UseIIS(),因为它是作为WebHost.CreateDefaultBuilder()调用的一部分为您完成的。你可以阅读更多关于CreateDefaultBuilder()做here的内容
还有另一个question and answer可以帮助你从dotnet应用程序的命令行启动IIS Express。
如果您想在IIS中托管应用程序,那么instructions are here
https://stackoverflow.com/questions/54430430
复制相似问题