本节描述部署 SQL Server Compact 应用程序的两个主要注意事项:
除这些主题外,若要升级现有 SQL Server 数据库,请参阅从早期版本进行升级 (SQL Server Compact)。
重要
SQL Server Compact 4.0 进行了优化以便用于 ASP.NET Web 应用程序,并且提供了简单便捷的方式来使用数据库以便用于启动网站。
SQL Server Compact 4.0 进行了优化,以便用作 ASP.NET Web 应用程序的数据库。Web 应用程序需要在**“中等信任”或“部分信任”**下运行,SQL Server Compact 4.0 也可以在中等信任或部分信任级别下运行。
ASP.NET 应用程序中的 SQL Server Compact 4.0
有两种方式 SQL Server Compact 4.0 可用于 ASP.NET Web 应用程序中:
专用部署
集中部署
有关详细信息,请参阅专用部署与集中部署 (SQL Server Compact)。
用于在部分信任或中等信任下工作的 SQL Server Compact 4.0 权限
ASP.NET 使用不同配置 (.config) 文件中的不同信任级别维护授予应用程序的权限集。您需要更改用于中等信任级别的 .config 文件,以便向 SQL Server Compact 4.0 提供在部分信任或中等信任级别中运行的正确权限。
对于 .NET Framework 4,在安装期间将自动配置权限,因此无需额外配置。
按照以下针对 .NET Framework 3.5 SP1 的步骤执行:
将注册表权限类添加到 Web_MediumTrust.config 文件的 SecurityClasses 部分。
<SecurityClasses> <SecurityClass Name="ReflectionPermission" Description="System.Security.Permissions.ReflectionPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <SecurityClass Name="RegistryPermission" Description="System.Security.Permissions.RegistryPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </SecurityClasses>
在 Web_MediumTrust.config 文件中创建具有所需权限的新的权限集。
<PermissionSet class="NamedPermission" version="1" Name="SqlCe_Trust"> <IPermission class="SecurityPermission" version="1" Flags="UnmanagedCode, SkipVerification"/> <IPermission class="EnvironmentPermission" version="1" Read="PROCESSOR_ARCHITECTURE"/> <IPermission class ="RegistryPermission" version="1" Read="HKEY_LOCAL_MACHINE\" /> </PermissionSet>
通过在 Web_MediumTrust.config 文件中放置以下行,将该权限集应用于 SQL Server Compact dll。
CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="ASP.Net"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url="$AppDirUrl$/*"/>
在该 (.config) 文件的上述行之后追加以下代码。
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="SqlCe_Trust" Name="SqlCe_Strong_Name" Description="This code group grants code signed with the SQLCE strong name SqlCe_Trust. "> <IMembershipCondition class="StrongNameMembershipCondition" version="1" PublicKeyBlob=" 0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8 "/> </CodeGroup>
请参阅
其他资源
How to: Create an ASP.NET Web Application using SQL Server Compact