C# 有没有办法在没有任何代理的情况下创建一个真正的自托管.Net(核心)wepApp

C# 有没有办法在没有任何代理的情况下创建一个真正的自托管.Net(核心)wepApp,c#,asp.net-core,.net-core,self-hosting,C#,Asp.net Core,.net Core,Self Hosting,我可以在ASP.NET和.NETCore中创建一个自托管web服务(WCF、REST、基于Kastrel或Katana等)。但是有没有一种方法可以创建一个基于MVC的完整的工作网站,或者SPA 例如,我可以在.NET Core启动文件中添加代码: app.Run(async (context) => { await context.Response.WriteAsync($"Hello World! { //insert you

我可以在ASP.NET和.NETCore中创建一个自托管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等,但我们不能创建自托管应用程序,我们需要一个web服务器-通常是IIS

我猜您的意思是visual studio的自托管web服务器无法从外部访问

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

new WebHostBuilder()
    .UseKestrel()
    ...
    .UseUrls("http://*:80")
    ...;
注: 如果没有反向代理,则不应使用此选项


有关在没有反向代理的情况下不应执行此操作的更多信息:

我猜您的意思是,您的visual studio自托管web服务器无法从外部访问

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

new WebHostBuilder()
    .UseKestrel()
    ...
    .UseUrls("http://*:80")
    ...;
注: 如果没有反向代理,则不应使用此选项


有关在没有反向代理的情况下不应执行此操作的详细信息:

您不需要web服务器,只需在visual studio中创建一个新的Asp.Net核心web应用程序,它将运行自托管。您不能设置除localhost(127.0.0.1)之外的其他地址。您不需要web服务器,只需在visual studio中创建一个新的Asp.Net核心Web应用程序,它将运行自托管。您不能设置localhost(127.0.0.1)以外的其他地址。我将添加一个巨大的警告,提醒您不要在公共应用程序中这样做,这只应用于无法从internet@CamiloTerevinto,你能再解释一下为什么吗?我知道,由于数百个(额外的非生产过程),他不会真正获得最佳性能,但如果防火墙设置良好,为什么会出现问题?我应该是8秒wait@MohammedNoureldin请阅读官方文件:@CamiloTerevinto,啊,好的,你的意思是。我只是误解了你。当然,应该使用nginx(或任何反向代理)。我个人在我的项目中喜欢使用nginx。我想对在公共应用程序中使用nginx提出一个巨大的警告,这应该只用于无法从网络访问的intranet应用程序internet@CamiloTerevinto,你能再解释一下为什么吗?我知道,由于数百个(额外的非生产过程),他不会真正获得最佳性能,但如果防火墙设置良好,为什么会出现问题?我应该是8秒wait@MohammedNoureldin请阅读官方文件:@CamiloTerevinto,啊,好的,你的意思是。我只是误解了你。当然,应该使用nginx(或任何反向代理)。我个人在我的项目中喜欢使用nginx。