Partager via


Activation de LINQ avec ASP.NET

par Walter Oliver

Vue d’ensemble

ASP.NET est un modèle de développement web unifié qui inclut les services nécessaires pour créer des applications web avec un minimum de codage. ASP.NET fait partie du .NET Framework et lors du codage ASP.NET applications que vous avez accès aux classes dans le .NET Framework. Vous pouvez coder vos applications dans n’importe quel langage compatible avec le Common Language Runtime (CLR), notamment Microsoft Visual Basic, C#, JScript .NET et J#. Ces langages vous permettent de développer des applications ASP.NET qui bénéficient du Common Language Runtime, de la sécurité des types, de l’héritage, et ainsi de suite.

Language-integrated Query (LINQ) est un ensemble de fonctionnalités dans Visual Studio 2008 qui étend les puissantes fonctionnalités de requête à la syntaxe de langage de C# et Visual Basic. LINQ introduit des modèles standard et faciles à apprendre pour interroger et mettre à jour des données. Cette technologie peut être étendue pour prendre en charge virtuellement tout type de magasin de données.

Important

Lors de l’hébergement d’applications web qui utilisent LINQ, vous devrez peut-être modifier les fichiers de stratégie pour la sécurité de l’accès au code.

Les sections suivantes décrivent ces paramètres. Pour plus d’informations, consultez Utilisation de LINQ avec ASP.NET.

Utilisation de LINQ avec confiance moyenne

Pour utiliser LINQ dans une application web qui s’exécute sous une approbation moyenne, vous devez inclure deux éléments (SecurityClass et IPermission) dans le fichier de stratégie défini pour l’approbation moyenne. Par défaut, le fichier web_mediumtrust.config est le fichier de stratégie pour la confiance moyenne et contient déjà ces éléments.

Dans l’élément SecurityClasses, ajoutez un élément SecurityClass avec les attributs suivants :

<SecurityClass 
  Name="ReflectionPermission" 
  Description="System.Security.Permissions.ReflectionPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

Dans l’élément PermissionSet qui a l’attribut Name défini sur « ASP.Net », ajoutez un élément IPermission qui a les attributs suivants :

<IPermission
  class="ReflectionPermission"
  version="1"
  Flags="RestrictedMemberAccess"
/>

Utilisation de LINQ avec haut niveau de fiabilité

Pour utiliser LINQ dans une application web qui s’exécute sous une confiance élevée, vous devez inclure un élément dans le fichier de stratégie défini pour la confiance élevée. Par défaut, le fichier web_hightrust.config est le fichier de stratégie pour une confiance élevée. Ce fichier inclut déjà un élément IPermission dans un élément PermissionsSet qui fait référence à la classe ReflectionPermission. Vous devez modifier cet élément lorsque vous utilisez LINQ.

Dans l’élément PermissionSet qui a l’attribut Name défini sur « ASP.Net », recherchez l’élément IPermission pour ReflectionPermission et définissez-le comme suit :

<IPermission class="ReflectionPermission" version="1" Flags="ReflectionEmit, RestrictedMemberAccess" />