Nous avons un fichier web.config dans un sous-répertoire physique d'un répertoire virtuel qui se trouve sous une application dans un site IIS. Quelque chose comme ceci:Web.config dans un sous-répertoire ignoré
- Site
- App
- Web.config
- virtuel Dir
- Subdir
- Web.config
- Subdir
- App
Dans le web.config nous avons mis cette configuration dans system.web:
<webServices>
<protocols>
<add name="HttpPost" />
<add name="HttpGet" />
</protocols>
</webServices>
Nous permettons aux deux protocoles pour un ASMX dans ce sous-répertoire.
Tout fonctionne bien pendant un certain temps et après cela, il s'arrête juste et ces protocoles ne fonctionnent plus. Nous redémarrons IIS et il recommence à fonctionner. Pour résoudre ce problème, nous avons utilisé une solution de contournement pour ajouter cette configuration à l'application Web.config, puis cela fonctionne correctement. Mais nous aimerions éviter de changer l'application Web.config et de faire fonctionner le sous-répertoire Web.config.
Des idées pour lesquelles ASP.Net arrêterait juste de considérer le sous-répertoire Web.config après un certain temps?
Nous hébergeons sur Windows Server 2003, IIS 6, ASP.Net 2.0.
Les requêtes HTTP POST envoyées à l'ASMX ne fonctionnent plus. L'erreur que nous obtenons est System.InvalidOperationException avec ce message:
Le format de la requête n'est pas reconnu pour l'URL se terminant de manière inattendue dans '/ blah'.
La trace de la pile est:
at System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response)
at System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext context, String verb, String url, String filePath)
at System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig)
at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
J'ai édité la question pour inclure le message d'exception et la trace de pile pour la requête HTTP POST après que le service commence à échouer –
Aussi, oublié de mentionner que j'ai réellement utilisé .Net Reflector pour regarder le code .Net et trouvé cette exception particulière jeté quand il pense que HTTP POST n'est pas autorisé. –
Bonjour, j'ai exactement le même problème .... avez-vous eu une solution? Merci! –