网络核心应用程序作为Windows服务在网页中返回错误404

时间:2019-09-21 03:28:41

标签: c# asp.net-core

我最近基于Microsoft文档here

为我的Net Core应用创建了Windows服务。

一切正常,服务正在运行,但是当我访问localhost:5000上的网页时,出现: enter image description here

我的创业公司看起来像:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseWebpackDevMiddleware(new Microsoft.AspNetCore.SpaServices.Webpack.WebpackDevMiddlewareOptions
                {
                    HotModuleReplacement = true,
                    ConfigFile = "webpack.dev.js"
                });
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                app.UseHsts();
            }

            app.Use(async (_context, next) =>
            {
                if (_context.Request.Query.TryGetValue("access_token", out var token))
                {
                    _context.Request.Headers.Add("Authorization", $"Bearer {token}");
                }
                await next.Invoke();

            });
...
        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
            routes.MapSpaFallbackRoute(
                name: "spa",
                defaults: new { controller = "Home", action = "Index" }
                );
        });
}

在Program.cs中:

 var esServicio = !(Debugger.IsAttached || args.Contains("--console"));
        if (esServicio)
        {
            string pathExe = Process.GetCurrentProcess().MainModule.FileName;
            var pathContentRoot = Path.GetDirectoryName(pathExe);
            Directory.SetCurrentDirectory(pathContentRoot);
        }
        IWebHostBuilder builder = CreateWebHostBuilder(args.Where(x => x != "--console").ToArray());
        var host = builder.Build();
        if (esServicio)
        {
            host.RunAsCustomService();
        }
        else
        {
            host.Run();
        }

我在前端应用程序中使用Vue,并与后端结合使用;在IIS中或使用dotnet命令进行部署时,一切正常。 有人对正在发生的事情有想法

1 个答案:

答案 0 :(得分:0)

好的,所以404错误表示找不到资源。可能需要〜/或/之类的东西。对css文件使用反复试验,直到找出文件的位置。例如,在.net核心中,wwwroot文件夹是根文件夹,因此其中的任何内容都将与root有关;通过您的网页/css/site.css访问wwwroot / css / site.css。