7 messaggi dal 13 aprile 2015
Salve, ho fatto la migrazione, ma dopo aver aggiornato i pacchetti, l'appsetting ecc ecc...
quando cerco di lanciare il mio progetto webapplication creata a suo tempo con netcore1.0 e senza razor...

Mi da il seguente errore
System.InvalidOperationException: 'Endpoint Routing does not support 'IApplicationBuilder.UseMvc(...)'. To use 'IApplicationBuilder.UseMvc' set 'MvcOptions.EnableEndpointRouting = false' inside 'ConfigureServices(...).'


public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{

app.UseDeveloperExceptionPage();

app.UseDatabaseErrorPage();

app.Use(async (context, next) => {
await next();
if (context.Response.StatusCode == 404 &&
!Path.HasExtension(context.Request.Path.Value) &&
!context.Request.Path.Value.StartsWith("/api/"))
{
context.Request.Path = "/index.html";
await next();
}
});
//************************
app.UseHsts();
app.UseHttpsRedirection();
app.UseCookiePolicy();
//********************************
app.UseDefaultFiles();
app.UseAuthentication();
app.UseStaticFiles();
app.UseCors("AllowAll");
// app.UseRouting();
app.UseMvcWithDefaultRoute(); ESATTAMENTE QUI

}

COME POSSO RISOLVERE QUESTO PROBLEMA? Ho visto che il netcore3.0 crea webapp con razor ma purtroppo io sto mettendo mano ad un progetto scritto da altri e devo aggiornarlo come posso usare app.UseMVCwithDefaultRoute()?
11.883 messaggi dal 09 febbraio 2002
Contributi
Ciao,
in ASP.NET Core 3.0 è stato introdotto un nuovo meccanismo di routing che si chiama "Endpoint Routing". Di conseguenza, app.UseMvcWithDefaultRoute() non va più usato.

Leggi qui, è spiegato come funziona e come risolvere:
https://www.aspitalia.com/articoli/asp.net-core3/anteprima-aspnet-core-3-p-5.aspx

In pratica, dovresti modificare il codice così.
//qui codice precedente...
app.UseDefaultFiles();
app.UseRouting(); //Qui UseRouting
app.UseAuthentication();
app.UseStaticFiles();
app.UseCors("AllowAll");
app.UseEndpoints(routeBuilder => { //Qui UseEndpoints
  routeBuilder.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}");
  //Oppure
  //routeBuilder.MapDefaultControllerRoute();
});


Ciao,
Moreno

Enjoy learning and just keep making
7 messaggi dal 13 aprile 2015
Ciao,
sei sicuro? perchè negli esempi di IdentityServer vedo che usano ancora
services.AddControllersWithViews();

https://github.com/IdentityServer/IdentityServer4/blob/master/samples/Quickstarts/1_ClientCredentials/src/IdentityServer/Startup.cs
11.883 messaggi dal 09 febbraio 2002
Contributi
Ciao,


services.AddControllersWithViews();

Guarda bene, AddControllersWithViews si trova nel metodo ConfigureServices. Quello che invece ti suggerivo io si trova nel metodo Configure.

Sono entrambi necessari.
  • AddControllersWithViews configura i servizi di MVC (in particolare configura i servizi necessari per abilitare l'uso dei controller e delle view)
  • UseEndpoints e MapControllerRoute usa il middleware di routing e gli aggiunge la configurazione per fare in modo che le richieste vengano gestite dai controller MVC


ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.