有没有办法在没有任何代理的情况下创建真正的自托管.Net(核心)网络应用程序

Is there way to create a true selfhosted .Net ( Core) wepApp without any proxy

我可以在 ASP.NET 和 .NET Core 中创建自托管 Web 服务(WCF、REST,基于 Kastrel 或 Katana 等)。但是有没有一种方法可以基于 MVC 创建一个完整的工作网站或 SPA?

例如我可以在.NET Core启动文件中添加代码:

 app.Run(async (context) =>
        {
            await context.Response.WriteAsync($"Hello World! {
          //insert your web site here :-)
          }");
        });

- 但我应该自己创建所有 html、js 等等代码。也许我们有更好的方法?

当然我知道我们有很大一部分,如 ASP 等等 - 但我们不能创建自托管应用程序,我们需要一个网络服务器 - 通常是 IIS!

我猜你的意思是你的 visual studio 自托管网络服务器无法从外部访问?

假设您的端口转发和防火墙配置正确。您需要更改应用程序的绑定地址:

new WebHostBuilder()
    .UseKestrel()
    ...
    .UseUrls("http://*:80")
    ...;

注:

如果没有反向代理,永远不要使用它。

关于为什么在没有反向代理的情况下不应该这样做的更多信息:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.0&tabs=aspnetcore2x