Articles

Affichage des articles du janvier, 2011

Les permissions dans IIS 7

Image
Définir les droits d'accès de l'ApplicationPoolIdentity Introduction Dans IIS 7 sous Windows 7 ou Windows Server 2008, les Applications Pools peuvent tourner sous les privilèges de l'utilisateur "ApplicationPoolIdentity" plutôt que "Network Service". Par contre, il peut sembler impossible d'assigner des permissions à cet utilisateur car il n'aparaît pas dans la liste des utilisateurs locaux de la machine. Il s'agit en effet d'une fonctionnalité qui n'est pas encore implémentée dans ces OS. Elle n'est disponible pour l'instant que dans Windows Server 2008 R2. L'utilisateur DefaultAppPool est maintenant visible dans l'onglet Permissions La commande ICACLS Il est heureusement possible d'ajouter cet utilisateur manuellement à l'aide de l'utilitaire ICACLS. Pour assigner l'utilisateur au dossier c:\inetpub\wwwroot, procédez comme suit : Démarrez un nouveau Command Prompt (Start -> Cmd)

Tutorial Razor - Partie 1

Image
A la découverte de la syntaxe de Razor Introduction Avec le lancement de WebMatrix et l'arrivée de Razor comme View Engine dans ASP.NET MVC, j'ai décidé de m'intéresser à ce nouveau langage pour l'embarquer dans un CMS Open Source que je suis en train de développer (j'en reparlerai plus tard dans ce blog). C'est donc l'occasion pour moi de rédiger un petit résumé de la syntaxe de Razor. Principes de base Tous les blocs de codes doivent être encadrés par @{ ... } . Dès que vous tapez un @ , vous êtes censé démarrer l'écriture d'un bout de code. Tout ce qui suit est donc considéré comme du code, sauf si vous indiquez le contraire à Razor. @{     var numbers = Enumerable.Range(1, 10);     foreach(var number in numbers){    } } Si vous voulez afficher le contenu de la variable number à l'intérieur de la boucle, vous devez la préfixer par un @ : @{     var numbers = Enumerable.Range(1, 10);     foreach(var number in numbers){  

Encryption du web.config

Image
Encrypter des sections du web.config en ASP.NET 4.0 Introduction ASP.NET 4.0 nous offre un moyen très simple d'encrypter n'importe quelle section du fichier web.config, à l'aide de la méthode ProtectSection() de la classe System.Configuration.SectionInformation . Cette technique offre l'avantage de ne nécessiter aucune modification du code existant ; la lecture des valeurs stockées dans le fichier web.config continue à se faire à l'aide de la classe ConfigurationManager . Nous allons donc créer une simple page d'administration nous permettant de crypter/décrypter à volonté notre fichier de configuration. Code source using System; using System.Collections.Generic; using System.Configuration; using System.Web.Configuration; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebConfigEncryption { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } pr

System.Runtime.InteropServices.COMException

Image
Message d'erreur en ouvrant une application web dans Visual Studio 2008 sous Windows 7 Ce message indique que VS2008 ne parvient pas à accéder aux métadonnées de IIS. J'ai résolu ce problème en activant l'option de compatibilité des métadonnées de IIS 6. Ouvrir le Menu Start Chercher le mot features Cliquer sur Turn Windows Features On or Off Cocher les éléments ci-dessous dans la section Internet Information Services / Web Management Tools :

Routing ASP.NET 4.0 sous IIS 5.1/6.0

Image
Comment faire fonctionner le routing ASP.NET 4.0 sous IIS 5.1 / 6.0 ? Introduction Si vous avez suivi le tutorial consacré à l'utilisation du routing ASP.NET 4.0 avec WinForms et que vous avez tenté de déployer votre solution sous une version de IIS inférieure à 7.0, vous aurez certainement rencontré un problème d'erreur 404 - Page non trouvée. Le problème Le problème provient du fait que IIS 5.1 (la version fournie nativement avec Windows XP Pro) et IIS 6.0 se basent sur les extensions de pages pour décider de quelle manière celles-ci doivent être traitées (ce sont les fameux filtres ISAPI). Or, les routes définies dans notre projet ne contiennent plus d'extensions. Ce qui fonctionne très bien dans IIS7 et dans le serveur de développement de VS2010. La solution Une solution possible consiste à inclure une extension .aspx dans la déclaration de vos routes. Evidemment, ce workaround met à mal le concept de friendly-urls qui est quand même le but recherché quand on

Could not load file or assembly Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0

Si vous rencontrez ce message d'erreur avec Visual Studio 2010 et SQL Server 2005 Express lorsque essayez de créer une connexion dans le Database Explorer, voici les composants à installer pour résoudre le problème : Microsoft SQL Server System CLR Types http://go.microsoft.com/fwlink/?LinkId=123721&clcid=0x409 Microsoft SQL Server 2008 Management Objects http://go.microsoft.com/fwlink/?LinkId=123708&clcid=0x409 Microsoft SQL Server 2008 Native Client http://go.microsoft.com/fwlink/?LinkId=123717&clcid=0x409