2010-09-23 4 views
3

J'utilise VS2010 + C# + .Net 4.0 + IIS 7.5 + Windows 7. Lorsque j'ouvre un fichier svc (dans le gestionnaire IIS, faites un clic droit sur le fichier svc et sélectionnez browse) pour un projet WCF dans IIS, il y a une erreur comme ça, des idées ce qui ne va pas?Interdit de parcourir le fichier svc WCF?

This type of page is not served. 
Description: The type of page you have requested is not served because it has been explicitly forbidden. The extension '.svc' may be incorrect. Please review the URL below and make sure that it is spelled correctly. 

Voici le contenu du fichier web.config que j'utilise, est-ce correct?

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <staticContent> 
      <remove fileExtension=".svc" /> 
     </staticContent> 
     <handlers> 
      <remove name="svc-ISAPI-2.0" /> 
      <remove name="svc-Integrated" /> 
      <add name="svc-ISAPI-2.0" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> 
     </handlers> 
    </system.webServer> 
</configuration> 

Répondre

2

Vous devrez peut-être lancer la commande servicemodelreg –ia dans l'invite de commande Visual Studio.

Si cela ne fonctionne pas, vérifiez si la fonction "Activation HTTP WCF" est installée (Ajout/Suppression de programmes - Activer ou désactiver les fonctionnalités Windows - Microsoft .Net 3.5.1).

MISE À JOUR 1: Votre application est probablement hébergée sous .NET 2.0 App Pool. Allez dans le Gestionnaire des services Internet et vérifiez le lien Paramètres de base .... Cliquez sur le bouton Sélectionner et vous verrez quelle option utilisez-vous. Changez-le pour utiliser .NET 4.0

MISE À JOUR 2: Votre fichier web.config semble incomplet. Je vous suggère de configurer votre service en utilisant l'outil WCF Configuration Editor. Lancez-le (assurez-vous d'utiliser la version .NET 4 de l'outil) et ouvrez votre fichier web.config. Créez une configuration de service et une configuration de point de terminaison de service, puis enregistrez-la.

+0

Merci! Je devrais exécuter servicemodelreg sous C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319? Ou sous C: \ Windows \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation? – George2

+0

J'ai essayé votre solution, mais rencontré un nouveau problème => http://stackoverflow.com/questions/3776493/loading-error-for-system-servicemodel-activation-httpmodule Je suis confus pourquoi il y a une erreur concernant le chargement 3.0 Service Erreur de modèle. Mon code est construit pour .Net 4.0. – George2

+0

Je suspecte également le web.config n'est pas correct. J'ai posté le web.config que j'utilise dans le post original, des idées? – George2

1

Il est probable les types MIME de configuration pas correctement sur IIS, essayez d'utiliser l'outil aspnet_regiis. À défaut, je recommanderais d'ajouter un type mime à votre répertoire virtuel dans iis pour les fichiers .svc qui seront gérés par l'environnement d'exécution .NET.

+0

Merci! Je devrais lancer aspnet_regiis avec quelles options? Et je devrais exécuter aspnet_regiis sous .Net 4.0, correct? – George2

+0

J'ai essayé votre solution, mais rencontré un nouveau problème => http://stackoverflow.com/questions/3776493/loading-error-for-system-servicemodel-activation-httpmodule Je suis confus pourquoi il y a une erreur concernant le chargement 3.0 Service Erreur de modèle. Mon code est construit pour .Net 4.0. – George2

+0

Je suspecte également le web.config n'est pas correct. J'ai posté le web.config que j'utilise dans le post original, des idées? – George2

Questions connexes