发布独立ASP.NET Core 1.0应用程序

时间:2016-08-17 00:29:26

标签: asp.net iis asp.net-core asp.net-core-1.0

我有一个带有REST apis的ASP.NET核心应用程序。在VS Studio 2015的开发中,我只是像可执行文件一样运行应用程序,或者直接从命令行运行dotnet run并且工作得很好。根据我的配置,它运行在端口5000:

namespace MyApp
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseUrls("http://*:1000", "https://*:1234", "http://0.0.0.0:5000")
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();

            host.Run();
        }
    }
}

当应用程序与Kestrel一起运行时,我发送正确的GET请求(使用基本授权并由自定义中间件类解决)没有问题。但是当我在VS2015中选择“IIExpress”并运行(在不同的随机端口,让我们说http://localhost:60136)它不起作用,当我尝试发送任何请求(现在到该端口60136)时它返回一个OPTIONS 401.显然,忽略了我的自定义中间件。

因为我需要在我的Windows Server 2012中发布它,我很难避免使用IIS,但有些文档和评论指出我不要直接使用Kestrel ......

另外,我用这个命令生成了应用程序:

dotnet publish -f netcoreapp1.0 -c release

但是,没有可执行文件!

有没有办法在我的服务器中运行此应用程序,就像在dev中一样? 或者有没有办法用IIS正确安装它?

0 个答案:

没有答案