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).

27
demandé sur Soren 2015-05-18 11:32:59

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();
    }
}
23
répondu Shaun Luttin 2016-12-15 02:44:09

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:

  1. IIS

  2. 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.

4
répondu user6725779 2016-08-26 18:36:58

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

2
répondu Soren 2016-12-14 08:43:26