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

标签 c# asp.net-core .net-core self-hosting

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

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

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

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

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

最佳答案

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

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

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

备注:

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

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

关于c# - 有没有办法在没有任何代理的情况下创建真正的自托管.Net(核心)网络应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50605961/

相关文章:

c# - 使用用户名和密码 .netcore 2 的 Swagger Auth

.net - 配置 .NET Core 以使用 x86 SDK

c# - ASP.NET Core MVC(以前的 MVC 6)Razor 错误未被异常过滤器捕获

c# - 在 C# 中将字典绑定(bind)到 DataGridView?

c# - Linq to Xml - 空元素

c# - IClaimsTransformer 有什么用?

c# - System.Text.Json 合并两个对象

c# - .NET Core 中是否有等效于 DllImport 的 Linux?

c# - 插入自动递增

c# - 如何在 ASP.NET Core 身份验证中将 OAuth 回调配置到不同的域