【问题标题】:Net core app as Windows Service return error 404 in web pageNet core 应用程序作为 Windows 服务在网页中返回错误 404
【发布时间】:2019-09-21 03:28:41
【问题描述】:

我最近根据 Microsoft 文档 here 为我的 Net Core 应用程序创建了一个 Windows 服务

一切运行良好,服务正在运行,但是当我访问 localhost:5000 上的网页时,会出现:

我的创业公司看起来像:

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 命令时,一切正常。 有人知道发生了什么

【问题讨论】:

    标签: c# asp.net-core


    【解决方案1】:

    好的,404 错误意味着找不到资源。可能需要 ~/ 或 / 之类的东西。对 css 文件进行反复试验,直到找出文件的位置。例如,在 .net 核心中,wwwroot 文件夹是根文件夹,因此其中的任何内容都与根相关; wwwroot/css/site.css 从您的网页访问为 /css/site.css。

    【讨论】:

      猜你喜欢
      • 2019-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-24
      • 2021-03-16
      • 1970-01-01
      相关资源
      最近更新 更多