2017-01-27 3 views
0

J'écris actuellement une application Web en utilisant C# et Asp.Net MVC. Tout fonctionne parfaitement bien sur ma machine de développement locale.Problèmes rencontrés avec les actions POST sur le serveur en direct

Lorsque je l'ai mis sur le serveur, le style etc était absolument bien. Cependant, aucune des méthodes POST ne fonctionnait.

IIS a continué à me jeter l'erreur suivante:

HTTP Error 500.24 - Internal Server Error An Asp.NET setting has been detected that does not apply in Integrated managed pipeline mode

Selon m'a suggéré changé en mode classique et essayé le

<validation validateIntegratedModeConfiguration="false"/> 

dans le fichier web.config sans chance.

J'ai une vue juste quelques où j'utiliser le code comme

@using(Html.BeginForm("Create", "User")){ //form data here } 
... 

Maintenant, quand je publie le site sous le site Web par défaut, l'URL devient https://abc.domain.com/mywebsite c'est où tous les POST méthodes cessent de fonctionner. Cependant, si je publie le site comme sa propre application, donc pas sous le site par défaut, tout fonctionne parfaitement bien.

Maintenant, je peux voir la raison pour laquelle les méthodes POST ne peuvent pas être trouvées parce que ce n'est plus le répertoire racine.

Donc, ma question est, est-il un moyen plus facile de contourner ce problème? parce que j'ai actuellement décidé de descendre la route de @Url.Action("MyAction", "SomeController") et de soumettre le formulaire via jQuery qui semble résoudre le problème. Cependant, existe-t-il un paramètre ou une sorte que je peux appliquer à l'ensemble de l'application plutôt que de continuer à devoir fournir @Url.Action("MyAction", "SomeController") pour chaque événement de clic.

Edit: Voici la capture d'écran du message d'erreur que je reçois

enter image description here

+0

Pouvez-vous poster la capture d'écran ou coller des textes de la page d'erreur générée? Surveillez la section «Cause la plus probable», la source de l'erreur peut implicitement ou explicitement être indiquée ici. –

+0

C'est probablement un long-shot - mais avez-vous vérifié que le pool d'applications utilise le même pipeline? Classique/Intégré. Et que vous utilisez la même version .NET CLR? – smoksnes

+0

@TetsuyaYamamoto S'il vous plaît voir l'image ci-jointe – Izzy

Répondre

0

Dans IIS, Comparer la version .Net CLR pour le pool d'applications de existantes site Web par défaut et nouvelle application où votre site fonctionne très bien. S'il y a une différence, changez ce paramètre du pool d'applications du site Web par défaut à celui de la nouvelle application.

+0

Merci pour cela, je les ai déjà comparés et ils sont les mêmes – Izzy