0
votes

Pages de rasoir / Problème de routage de base ASP.NET sur le site déployé (erreur 404)

Lorsque je déploie mon site, il modifie le lien d'ancrage généré pour certains éléments. Sur mon serveur local, le lien se révèle être http: // localhost: 49377 / recette / 1 et Cela fonctionne quand je clique dessus. Sur mon serveur déployé, il affiche Threeployedsserver.net/home/index/1?page=%2Frecpe.

C'est ce lien dans le menu.cshtml qui change: p> xxx pré>

Je pense que c'est peut-être un problème de routage mais je ne sais pas ce que c'est. Je regarde toujours la documentation, mais j'espère que quelqu'un peut m'aider ou me signaler dans la bonne direction. P>

J'ai le code suivant dans mon menu.cshtml p> xxx Pré>

Ceci est ma recette.cshtml Page: P>

public class Startup
{
    // This method gets called by the runtime. Use this method to add services to the container.
    // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie();
        services.AddMvc().AddRazorPagesOptions(options =>
        {
            options.Conventions.AuthorizeFolder("/Admin");
            options.Conventions.AuthorizeFolder("/Account");
            options.Conventions.AllowAnonymousToPage("/Account/Login");
        }); //dependency injection
        services.AddTransient<IRecipesService, RecipesService>();


    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseAuthentication();
        app.UseStaticFiles();
        app.UseMvcWithDefaultRoute();

    }
}


0 commentaires

3 Réponses :


0
votes

Il pense que vous utilisez le contrôleur domestique et la vue d'index.

au lieu de ASP-Page Vous pouvez utiliser ASP-Controller et ASP-Action. Si vous partagez votre configuration de route, je peux fournir une meilleure réponse.


4 commentaires

Je pense que vous pourriez avoir raison, mais je suis perplexe sur la façon de changer. J'ai mis à jour le message original avec le fichier STARUP.CS qui contient mes informations de routage.


Est-ce que vous contrôleur contesterservice et dans cette classe, il existe une méthode de recette? Donc, ce serait ASP-Controller = Recipesservice ASP-Action = Recette


Recipesservice est un modèle qui hérite de l'interface IRECIPESService. J'ai changé l'IT en ASP-Controller et ASP-Action et cela n'a pas fonctionné.


L'autre problème est pourquoi fonctionne-t-il sur le serveur local mais pas sur Azure lorsqu'il est déployé?



0
votes

dans votre changement de liaison / recette à ./Recipe xxx


1 commentaires

Je l'ai changé auparavant et ça ne l'a pas fait. Je l'ai essayé à nouveau mais ça ne marche pas.



0
votes

Correction du problème. On dirait que j'ai eu un modèle distinct nommé recette et une page nommée recette et leurs noms étaient contradictoires. Je viens de créer une autre page nommée Burgers et elle a fixé le conflit avec le problème de routage.


0 commentaires