9
votes

Microsoft.Owin.StaticFiles fonctionne dans l'hôte de la console mais je reçois un 404 dans IIS sur les demandes de fichiers

J'ai Microsoft.owin.Fileverver (v2.1.0) Configurez dans mon pipeline Owin, puis configurez FileServeroptions avec EnableDirectoryBrowsing = True fonctionne bien pour afficher le contenu du répertoire dans mon hôte de mon console et iisexpress.

C'est quand J'essaie d'afficher un fichier particulier (donc, la partie StaticFiles) J'ai des problèmes dans Iisexpress. Fonctionne toujours géniale dans l'hôte de la console, mais dans iisexpress, je reçois un 404: xxx

i Disez le dernier Microsoft.owin.host.systemweb référencé dans l'hôte Web. < / p>


0 commentaires

3 Réponses :


1
votes

Je devais ajouter le paramètre suivant: xxx

pour obtenir le module que Microsoft.owin.host.systemweb enregistre automatiquement pour exécuter des itinéraires comme * .txt, * .js que IIS En supposant que les fichiers statiques fonctionnaient à travers le pipeline Owin.

Ce paramètre a des implications de performance pour les fichiers statiques réels, mais cela fonctionne pour moi.


0 commentaires

20
votes

Ajout de n'a pas fonctionné pour moi (vs2013, IIS Express).

forcer toutes les demandes d'utilisation du pipeline Owin a fait:

(dans web.config) xxx


3 commentaires

RunallManagedModulesForAlleRequests a travaillé pendant que j'avais signalé dans le pipeline Owin. Quand je l'ai retiré, je devais ajouter le gestionnaire que vous montrez ici. Merci!


Merci Zac m'a sauvé de plus de maux de tête. Mais pourquoi est-ce nécessaire, du tout?


Je ne sais pas exactement. Je suppose qu'il existe des conflits entre les modules dans l'ancienne pipline ASP.NET HTTP et la nouvelle pipline Owin. Pour de nouveaux projets, ASP.NET 5 a un mécanisme différent pour les fichiers statiques: WIPDEMPOPELOPER.COM/2015/04/02/ASP-NET-5-AND-STATIC-FILES



0
votes

Je viens de lutter avec ceci depuis ces dernières heures, l'ajout du gestionnaire ci-dessous fonctionnait cependant, je ne crois pas que c'était la bonne approche, cela a causé une configuration annulation publique (IAPPBuilder appbuilder) Pour être invoqué deux fois.

J'ai fait une lecture et trouvé https://docs.microsoft.com/en-us/aspnet/aspnet/overview/owin-and-katana/owin-middleware- in-the-iis-intégré-pipeline qui me conduis alors à utiliser usetagemarked () .

alors maintenant mon appel à userstaticFiles () est suivi d'un USESTAGEMARKER ( ) comme: xxx

Il y a une très bonne lecture sur elle ici:

Vous pouvez trouver usetagemarker à l'intérieur du package Microsoft.owin ici: https: // www .nuget.org / Packages / Microsoft.owin /

J'espère que cela aide quelqu'un d'autre.

merci

Steve < / p>


0 commentaires