Freigeben über


Aktivierung von LINQ mit ASP.NET

von Walter Oliver

Übersicht

ASP.NET ist ein vereinheitlichtes Webentwicklungsmodell, das die zum Erstellung von Webanwendungen erforderlichen Dienste mit mindestens Codierung enthält. ASP.NET ist Teil des .NET Frameworks, und wenn Sie ASP.NET Anwendungen codieren, haben Sie Zugriff auf Klassen im .NET Framework. Sie können Ihre Anwendungen in jeder Sprache codieren, die mit der Common Language Runtime (CLR) kompatibel ist, einschließlich Microsoft Visual Basic, C#, JScript .NET und J#. Diese Sprachen ermöglichen es Ihnen, ASP.NET Anwendungen zu entwickeln, die von der Common Language Runtime, der Typsicherheit, der Vererbung usw. profitieren.

Language-Integrated Query (LINQ) ist eine Reihe von Funktionen in Visual Studio 2008, die leistungsstarke Abfragefunktionen auf die Sprachsyntax von C# und Visual Basic erweitern. LINQ bietet einfach zu erlernende Standardmuster für das Abfragen und Aktualisieren von Daten, und die Technologie kann so erweitert werden, dass potenziell alle Datenspeicherarten unterstützt werden.

Wichtig

Wenn Sie Webanwendungen hosten, die LINQ verwenden, müssen Sie möglicherweise die Richtliniendateien für die Codezugriffssicherheit ändern.

Die folgenden Abschnitte beschreiben diese Einstellungen. Weitere Informationen finden Sie unter Verwenden von LINQ mit ASP.NET.

Verwendung von LINQ mit mittlerem Vertrauen

Um LINQ in einer Webanwendung zu verwenden,die unter mittlerem Vertrauen ausgeführt wird, müssen Sie zwei Elemente (SecurityClass und IPermission) in die Richtliniendatei einschließen, die für mittleres Vertrauen definiert ist. Die Datei web_mediumtrust.config ist standardmäßig die Richtliniendatei für mittlere Vertrauensstellung und enthält bereits diese Elemente.

Fügen Sie innerhalb des Elements Sicherheitsklassen ein Element Sicherheitsklassen mit den folgenden Attributen hinzu:

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

Innerhalb des Elements Berechtigungsgruppe, dessen Attribut Name auf "ASP.Net" gesetzt ist, fügen Sie ein Element IPermission hinzu, das die folgenden Attribute aufweist:

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

Verwendung von LINQ mit hoher Vertrauen

Zur Verwendung von LINQ in einer Webanwendung, die unter hohem Vertrauen ausgeführt wird, müssen Sie ein Element in die Richtliniendatei aufnehmen, das für hohes Vertrauen definiert ist. Die Datei web_hightrust.config ist standardmäßig die Richtliniendatei für hohes Vertrauen. Diese Datei enthält bereits ein IPermission Element innerhalb eines PermissionsSet Elements, das auf die ReflectionPermission Klasse verweist. Sie müssen dieses Element ändern, wenn Sie LINQ verwenden.

Innerhalb des PermissionSet Elements, dessen Name Attribut auf "ASP.Net" gesetzt ist, suchen Sie das IPermission Element für ReflectionPermission, und legen Sie es wie folgt fest:

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