E 'possibile auto-ospitare un'applicazione MVC 6 senza IIS (non API Web)?
Sì. Infatti, tutte le applicazioni ASP.NET Core sono auto-ospitate. Anche in produzione, IIS (o Nginx) sono un proxy inverso per l'applicazione self-hosted.
Ecco come si può provare.
primo, scaricare e installare .NET core da qui https://www.microsoft.com/net/core
In secondo luogo, creare un progetto MVC 6. Ad esempio, clonare un campione dal repository GitHub di ASP.NET.
git clone [email protected]:aspnet/cli-samples.git
cd cli-samples\HelloMvc
oppure use Yeoman to generate an ASP.NET MVC 6 site.
npm install -g yo
npm install -g bower
npm install -g generator-aspnet
yo aspnet webbasic MyMvc6App
cd MyMvc6App
Terzo, ripristino ed eseguire il progetto.
dotnet restore
dotnet run
Infine, passare a localhost: 5000 nel browser web. L'applicazione MVC 6 è auto-ospitata.
Look nella classe Program.cs risultante, è possibile visualizzare l'auto-hosting. Il numero IISIntegration
è facoltativo: è necessario solo se si desidera eseguire l'integrazione con 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();
}
}
fonte
2015-05-18 23:29:35
Vedere le istruzioni alla fine di questo articolo: http://www.asp.net/vnext/overview/aspnet-vnext/create-a-web-api-with-mvc-6 Si applicano le stesse fasi per mvc e web api poiché sono lo stesso tipo di progetto in asp.net 5 – rdans
quando utilizzo il listener Web per l'applicazione host, ho ottenuto la seguente eccezione. System.MissingMethodException: Metodo non trovato: 'Int32 System.Runtime.InteropSe rvices.Marshal.SizeOf (!! 0)'. a Microsoft.Net.Http.Server.WebListener.SetRequestQueueLimit() a Microsoft.Net.Http.Server.WebListener.Start() a Microsoft.AspNet.Server.WebListener.MessagePump.Start (Func'2 app) su Microsoft.AspNet.Server.WebListener.ServerFactory.Start (server IServerInformation , app Func'2) in Microsoft.AspNet.Hosting.HostingEngine.Start (contesto HostingContext) – selva
Benvenuti in Stack Overflow, @selva! Questa è una caratteristica intrinseca della build [tag: asp.net-5], come ha detto @rdans. Se hai un problema specifico con il funzionamento del tutorial collegato, ti preghiamo di porre questa domanda, invece. –