部署考量因素
本節描述部署 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
在 ASP.NET Web 應用程式中可透過兩種方式使用 SQL Server Compact 4.0:
私下部署
集中部署
如需詳細資訊,請參閱<私下部署與集中部署 (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