有没有办法在没有任何代理的情况下创建真正的自托管.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
我可以在 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