2009-01-10 7 views
0

J'essaie d'utiliser la classe Server de Cassini pour inclure un serveur web de base dans ma propre application. Je viens de commencer à jouer avec elle pour se familiariser avec la façon dont les travaux de serveur et la configuration I une application simple qui est comme suit:Cassini Erreur: "Ce type de page n'est pas servi"

static void Main(string[] args) 
    { 
     Server server = new Server(80, "/", @"C:\Projects\"); 
     server.Start(); 
     Console.ReadLine(); 
     server.Stop(); 
    } 

Il me permet de parcourir les répertoires, si je tente de cliquer sur un fichier, un fichier source C# (* .cs) par exemple, il donne l'erreur suivante:

Server Error in '/' Application.

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 '.cs' may be incorrect.
Please review the URL below and make sure that it is spelled correctly.

J'ai essayé la recherche de ce texte d'erreur dans les bibliothèques Cassini, mais n'a rien trouvé.

D'où provient cette erreur? Comment puis-je le faire servir tout fichier? Je sais qu'il est destiné à faire asp.net et HTML, mais je veux aussi server n'importe quel fichier comme un serveur normal.

+0

Salut Adam ... Est-ce qu'il affiche HTML et le contenu ASPX ok? – Kev

+0

Oui ... ça va. –

Répondre

2

.cs impossible de rendre les fichiers et de nombreux types de code source car ils sont gérés par le gestionnaire de fichiers interdit d'ASP.NET.

C'est initialement configuré dans le paramètre suivant dans le web.config maître dans c:\windows\microsoft.net\v2.0.50727\CONFIG\web.config:

Rechercher dans la section <httpHandlers>, vous voyez des paramètres tels que:

<add path="*.cs" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 

En général, cela est une bonne idée car il empêche la navigation occasionnelle de votre code source qui peut contenir des données sensibles telles que des chaînes de connexion.

Vous devriez pouvoir supprimer cette restriction dans web.config locale de votre application en faisant:

<configuration> 
    <system.web> 
     <httpHandlers> 
     <remove verb="*" path="*.cs"/> 
     </httpHandlers> 
    </system.web> 
</configuration> 

Je probablement ne recommanderais pas le faire sur un environnement de production face à Internet.

+0

[@Kev] (http://stackoverflow.com/questions/431233/cassini-error-this-type-of-page-is-not-served#431326) Je ne me suis pas rendu compte qu'il était fixé à un niveau global niveau comme ça. Une question cependant ... Mon application (du moins en ce moment car c'est un test) est juste une application console et n'a pas de fichier web.config ou même app.config. Puis-je simplement l'ajouter et coller dans ce que vous avez montré? Si non, que dois-je faire pour le mettre en place? –

+0

Je n'ai pas eu le temps de jouer avec Cassini mais je m'attendais à ce que vous puissiez afficher un fichier web.config dans votre dossier c: \ projects et ça marchera. Je suppose que vous avez des pages .aspx dans ce dossier? – Kev

+0

Aussi .... cet article sur MSDN par Dino Esposito plonge dans l'hébergement cassini: http://msdn.microsoft.com/en-us/magazine/cc188791.aspx combien est encore pertinent, je ne sais pas. – Kev

Questions connexes