Est - il possible d'héberger un ASP.NET Application de base sans IIS (pas D'API Web)?
I have a full-working ASP.NET MVC application (.net Core, ASP.NET MVC 6) qui fonctionne bien dans Visual Studio (qui utilise IISExpress).
j'aimerais maintenant avoir une application console qui prend l'application MVC et l'héberge (auto-hébergement).
3 réponses
est-il possible d'auto-héberger une Application MVC 6 sans IIS (pas D'API Web)?
Oui. en fait, tous ASP.NET les applications de base sont auto-hébergées. Même dans la production, IIS (ou Nginx) sont un mandataire inverse pour l'application auto-hébergée.
Voici comment vous pouvez l'essayer.
Premier, télécharger et installer .NET Core à partir d'ici https://www.microsoft.com/net/core
Deuxième, créer un projet MVC 6. Par exemple, cloner un échantillon ASP.NET dépôt GitHub.
git clone git@github.com:aspnet/cli-samples.git
cd cli-samples\HelloMvc
Ou utilisez Yeoman pour générer un ASP.NET MVC 6 site.
npm install -g yo
npm install -g bower
npm install -g generator-aspnet
yo aspnet webbasic MyMvc6App
cd MyMvc6App
Troisième, restaurer et exécuter le projet.
dotnet restore
dotnet run
Enfin, naviguez vers localhost: 5000 dans votre navigateur web. L'application MVC 6 est auto-hébergé.
au programme résultant.classe cs, vous pouvez voir l'auto-hébergement. IISIntegration
est facultatif - c'est seulement nécessaire si vous voulez intégrer avec IIS.
public class Program
{
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.AddCommandLine(args)
.AddEnvironmentVariables(prefix: "ASPNETCORE_")
.Build();
var host = new WebHostBuilder()
.UseConfiguration(config)
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
Oui,ASP.NET Core supporte L'Interface Web ouverte pour .NET ( OWIN), vous avez deux options pour héberger votre Asp.net application web de base:
IIS
Auto-Accueil
mais, l'application web d'auto-hébergement ne peut pas redémarrer automatiquement lors du démarrage et du redémarrage du système ou en cas d'échec.
Oui
ASP.NET 5 est complètement découplé de l'environnement du serveur web qui héberge l'application. ASP.NET 5 prend en charge l'hébergement dans IIS et IIS Express, et les scénarios d'auto-hébergement en utilisant les serveurs HTTP Kestrel et WebListener. En outre, les développeurs et les fournisseurs de logiciels tiers peuvent créer des serveurs personnalisés pour héberger leurs ASP.NET 5 apps.
plus d'info: ASP.NET documentation - les Serveurs