Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Web Matrix dan ASP.NET Web Pages (Razor) Beta 3 Release Readme
9 November 2010
Konten
Gambaran Umum
Microsoft WebMatrix Beta adalah tumpukan pengembangan web gratis yang diinstal dalam hitung menit. Ini mengintegrasikan server web dengan database dan kerangka kerja pemrograman untuk membuat satu pengalaman terintegrasi. Anda dapat menggunakan WebMatrix Beta untuk menyederhanakan cara Anda membuat kode, menguji, dan menerbitkan situs web ASP.NET atau PHP Anda sendiri, atau Anda dapat menggunakan WebMatrix Beta untuk memulai situs web baru menggunakan aplikasi sumber terbuka populer seperti DotNetNuke, Umbraco, WordPress, atau Joomla. WebMatrix Beta menggunakan lingkungan server web, mesin database, dan kerangka kerja yang sama kuat yang akan menjalankan situs web Anda di internet, yang membuat transisi dari pengembangan ke produksi lancar dan mulus.
Penginstalan
Catatan
WebMatrix tidak lagi direkomendasikan sebagai lingkungan pengembangan terintegrasi untuk halaman web ASP.NET. Gunakan Visual Studio atau Visual Studio Code.
Jika Anda mengalami masalah selama penginstalan, lihat Memecahkan Masalah dengan Microsoft Web Platform Installer.
Instruksi untuk Menerbitkan Aplikasi
Lihat Instruksi Langkah demi Langkah untuk Aplikasi Penerbitan
Fitur Baru, Perubahan, dan Masalah Umum
Penginstalan WebMatrix Beta 3
Masalah: WebMatrix Beta 3 hanya tersedia di platform yang mendukung Microsoft .NET Framework 4
.NET Framework versi 4 diperlukan untuk WebMatrix Beta. Dalam kasus tertentu, alat penginstal WebMatrix Beta akan memungkinkan Anda mencoba menginstal pada platform yang bukan bagian dari set konfigurasi yang didukung. Secara khusus, Windows Vista tanpa pembaruan SP1 akan memungkinkan Anda memulai penginstalan WebMatrix Beta, tetapi komponen .NET Framework 4 akan gagal dan memblokir penginstalan Anda.
Penanganan masalah
Instal pada platform yang didukung, yang meliputi:
- Windows 7
- Windows Server 2008
- Windows Server 2008 R2
- Windows Vista SP1 atau yang lebih baru
- Windows XP SP3
- Windows Server 2003 SP2
Masalah: Tidak dapat menginstal WebMatrix Beta 3 jika Microsoft Visual Studio 2008 diinstal tanpa Microsoft Visual Studio 2008 SP1
Penanganan masalah
Instal Microsoft Visual Studio 2008 Service Pack 1 dari Pusat Unduhan Microsoft.
Masalah: Beberapa rakitan untuk SQL Server Compact 4.0 tidak diinstal di GAC
Rakitan terkelola untuk SQL Server Compact 4.0 tidak ditempatkan di cache perakitan global (GAC) ketika Anda menginstal SQL Server Compact 4.0 pada komputer 64-bit dan komputer hanya memiliki Profil Klien .NET Framework 3.5 SP1 yang diinstal. Rakitan terkelola yang tidak diinstal di GAC adalah:
- System.Data.SqlServerCe.dll (penyedia ADO.NET)
- System.Data.SqlServerCe.Entity.dll (Kerangka Kerja Entitas ADO.NET )
Penanganan masalah
Hapus instalan SQL Server Compact 4.0. Unduh dan instal versi lengkap .NET Framework 3.5 SP1 dari lokasi berikut:Microsoft .NET Framework 3.5 Paket layanan 1 (Paket Lengkap)
Kemudian instal ulang SQL Server Compact 4.0.
Masalah: Tidak dapat menghapus instalan SQL Server Compact menggunakan baris perintah
Penghapusan instalasi SQL Server Compact menggunakan opsi baris perintah tidak berfungsi dalam rilis ini.
Penanganan masalah
Gunakan Program dan Fitur di Panel Kontrol Windows untuk menghapus instalasi Microsoft SQL Server Compact 4.0.
Halaman ASP.NET Web
Bagian dokumen ini menjelaskan fitur, perubahan, dan masalah baru yang diketahui dengan rilis Beta 3 ASP.NET Web Pages dengan sintaks Razor.
Fitur Baru di Beta 3 untuk Halaman Web ASP.NET dengan Sintaks Razor
Baru: Metode "Html.Raw" merender markup yang tidak dikodekan
Metode baru
Html.Rawmemungkinkan Anda merender markup HTML sebagai markup alih-alih merender output yang dikodekan. (Secara default, ASP.NET Razor mengodekan string sebelum merendernya.) Sintaksnya adalah:
Html.Raw(value)Contoh berikut menunjukkan cara menggunakan
Html.Raw:@* Inserts literal markup into the page as specified in the value string. *@ @Html.Raw("<div>Hello <em>world</em>!</div>")
Perubahan beta 3 untuk halaman web ASP.NET dengan Sintaks Razor
Perubahan: Metode "HrefAttribute" dihapus
Metode
HrefAttributeWebPagekelas telah dihapus. Pembantu ini digunakan untuk mengodekan karakter yang tidak aman dalam URL. Ini tidak lagi diperlukan karena ASP.NET Razor secara otomatis mengodekan string. (Gunakan metode baruHtml.Rawuntuk merender string yang tidak dikodekan.)
Ubah: Sintaksis untuk pembantu "@helper" deklaratif berubah
Dalam rilis Beta 3, ASP.NET mengubah cara penguraian pembantu yang dibuat menggunakan
@helpersintaks. Intinya,@helpersintaksis sekarang diurai sebagai blok kode alih-alih sebagai blok markup yang dapat menyertakan kode. Oleh karena itu, kode di dalam pembantu tidak perlu diapit dalam@{ }blok. Sebaliknya, markup di dalam pembantu harus secara eksplisit disertakan dalam elemen HTML atau dalam tag ASP.NET Razor<text></text>.Misalnya, sintaks berikut
@helperberfungsi dalam rilis Beta 3:@helper ThumbnailLink(string imagePath, int width, int height) { @{ string newFileName = ""; WebImage thumbnail = new WebImage(imagePath); if(thumbnail != null){ thumbnail.Resize(width, height, true, true); newFileName = @"~\thumb_" + Path.GetFileName(thumbnail.FileName); thumbnail.Save(newFileName); } } <a href="@Href(imagePath)"><img src="@Href(newFileName)" /></a> }Dalam rilis Beta 3, pembantu ini harus diubah agar terlihat seperti contoh berikut:
@helper ThumbnailLink(string imagePath, int width, int height) { string newFileName = ""; WebImage thumbnail = new WebImage(imagePath); if(thumbnail != null){ thumbnail.Resize(width, height, true, true); newFileName = @"~\thumb_" + Path.GetFileName(thumbnail.FileName); thumbnail.Save(newFileName); } <a href="@Href(imagePath)"><img src="@Href(newFileName)" /></a> }Perhatikan bahwa karakter di
@{ }sekitar kode awal di pembantu tidak lagi digunakan. Ini karena konten pembantu diperlakukan sebagai blok kode secara default. Pembantu merender markup, yang dimulai dengan tag pembuka<a>. Jika pembantu harus merender teks biasa atau tag yang tidak menyertakan tag penutup (misalnya,<meta>tag), konten yang akan dirender harus dalam<text></text>tag.
Ubah: "WebPageContext.HttpContext" dihapus
Properti
WebPageContext.HttpContexttelah dihapus. GunakanHttpContext.Currentsebagai gantinya. (PropertiWebPageContext.HttpContexthanya membungkus ini.)
Perubahan: Pembantu "Facebook" dipindahkan ke paket baru
Helper
Perubahan: Jenis Keanggotaan, Peran, dan Keamanan berpindah ke rakitan baru
Jenis berikut dipindahkan ke
WebMatrix.WebDatarakitan:
ExtendedMembershipProviderSimpleMembershipProviderSimpleRoleProviderWebSecurity
Ubah: Kelas "TagBuilder" dipindahkan ke rakitan System.Web.WebPages.dll
Kelas
TagBuildertelah dipindahkan ke assembly System.Web.WebPages.dll. Sebelumnya, ini berada di perakitan yang merupakan bagian dari ASP.NET MVC. Perubahan ini berarti Anda tidak perlu menginstal ASP.NET MVC untuk menggunakanTagBuilderkelas .Namun, kelas masih berada di
System.Web.Mvcnamespace layanan. Untuk menggunakanTagBuilderkelas (misalnya, dalam pembantu ASP.NET Razor kustom), Anda harus mereferensikan namespace (misalnya, dengan menambahkan@using System.Web.Mvcke kode Anda).
Perubahan: Sintaks validasi permintaan diubah; Kelas "Validasi" dihapus
Dalam rilis Beta 3, untuk menonaktifkan validasi untuk bidang individual atau kumpulan bidang, Anda dapat memanggil
Validation.Excludemetode , meneruskan nama atau nama bidang untuk dikecualikan dari validasi. Sintaks baru tersedia dalam rilis Beta 3 untuk melewati validasi. Metode yangValidationdigunakan dalam Beta 3 telah dihapus.Catatan
Jika Anda tidak menonaktifkan validasi permintaan, jika pengguna mencoba mengunggah markup HTML (misalnya, dengan menggunakan editor teks kaya pada halaman), situs web akan melaporkan kesalahan seperti nilai Request.Form yang berpotensi berbahaya terdeteksi dari klien dan input pengguna tidak diterima. Jika Anda menonaktifkan validasi permintaan, Anda harus memeriksa input pengguna secara manual untuk memastikan bahwa itu tidak berisi markup atau skrip yang berpotensi berbahaya dengan Mencegah Scripting Lintas Situs (XSS) di ASP.NET Core.
Untuk menonaktifkan validasi permintaan otomatis, panggil
Request.Unvalidatedmetode , berikan nama bidang atau objek postingan lain yang ingin Anda lewati validasi permintaannya. Anda dapat menggunakan metode ini untuk melewati validasi untuk item apa pun dalamFormkoleksi , ,QueryStringCookies, danServerVariables. Contoh berikut menunjukkan cara menggunakanUnvalidatedmetode :Request["userInput"]; // Validated Request.Unvalidated("userInput"); // Validation bypassed Request.Unvalidated().Form["userInput"]; // Validation bypassed Request.QueryString["userPreference"]; // Validated Request.Unvalidated().QueryString["userPreference"]; // Validation bypassed
Masalah yang Diketahui untuk Halaman Web ASP.NET dengan Sintaks Razor
Masalah: Perilaku tak terduga saat menggunakan tabel pengguna kustom untuk keanggotaan
Untuk menginisialisasi penyedia keanggotaan untuk situs web ASP.NET Razor, Anda memanggil metode .
WebSecurity.InitializeDatabaseConnection(Di WebMatrix, templat Situs Pemula menyertakan panggilan ke metode ini dalam file _AppStart.cshtml .)autoCreateTablesJika parameter metode ini diatur ke true (secara default, parameter ini diatur ke true di templat Situs Pemula), dan jika nama tabel yang tidak dikenal diteruskan ke metode (parameter kedua), metode tidak melemparkan kesalahan. Sebaliknya, tabel secara otomatis membuat tabel.Ini bisa menjadi masalah jika Anda berniat menggunakan tabel pengguna kustom untuk keanggotaan tetapi meneruskan nama tabel yang salah ke
WebSecurity.InitializeDatabaseConnectionmetode . Karena metode tidak secara default menimbulkan kesalahan jika tabel yang Anda tentukan tidak ada, dan karena sebaliknya membuat tabel baru, aplikasi dapat tampak berfungsi. Namun, kode aplikasi yang bergantung pada tabel pengguna kustom Anda (dan pada bidang di dalamnya) akhirnya dapat gagal dengan kesalahan tak terduga.Penanganan masalah
Pastikan bahwa nama yang diteruskan dalamInitializeDatabaseConnectionmetode cocok dengan tabel profil pengguna dalam database keanggotaan, atau pastikan bahwaautoCreateTablesparameter diatur ke false.
Masalah: Kesalahan "Gagal menghasilkan instans pengguna SQL Server"
Jika aplikasi WebMatrix Web menggunakan SQL Server Express dan menjalankan IIS 7.5 di Windows 7 atau Windows Server 2008 R2, Anda mungkin melihat kesalahan yang menunjukkan bahwa SQL Server tidak dapat mengambil jalur aplikasi lokal pengguna pada durasi.
Penanganan masalah Pastikan bahwa akun Windows yang dijalankan aplikasi di bawah (biasanya LAYANAN JARINGAN) memiliki izin baca/tulis untuk folder akar aplikasi dan untuk subfolder seperti App_Data. Informasi lebih rinci tersedia di Masalah dengan instancing pengguna SQL Server Express dan ASP.net Proyek Aplikasi Web.
Masalah: Di Visual Studio, namespace layanan untuk rakitan kustom (DLL) tidak diimpor secara otomatis
Jika Anda menggunakan rakitan kustom dalam proyek di Visual Studio, namespace yang dideklarasikan dalam rakitan tersebut tidak diimpor secara otomatis pada waktu desain. Akibatnya, referensi ke jenis kustom mungkin tidak dikenali pada waktu desain dan ditandai sebagai tidak dikenali di Visual Studio (menggunakan "squiggle"). Masalah ini hanya terjadi pada waktu desain di Visual Studio; aplikasi itu sendiri berjalan dengan benar.
Penanganan masalah
usingSertakan pernyataan (importsdalam Visual Basic) yang mereferensikan entitas yang tidak dikenali pada waktu desain.
Masalah: Visual Studio IntelliSense dan templat proyek hanya tersedia di ASP.NET MVC versi 3
Menginstal ASP.NET Web Pages tidak juga menginstal alat untuk Visual Studio seperti IntelliSense dan templat proyek untuk aplikasi ASP.NET Web Pages.
Penanganan masalah Untuk menggunakan templat IntelliSense dan proyek untuk aplikasi ASP.NET Web Pages di Visual Studio, instal ASP.NET MVC 3 RC baik melalui Penginstal Platform Web atau alat penginstal mandiri.
Masalah: Kesalahan "<kelas pembantu> tidak dapat ditemukan"
Setelah meningkatkan ke Beta 3, Anda mungkin melihat kesalahan bahwa kelas pembantu
Penanganan masalah
Komentari panggilan ke pembantu apa pun di situs, jalankan halaman _Admin , dan instal paket atau paket yang menyertakan pembantu yang ingin Anda gunakan. Setelah menginstal paket, Anda dapat membatalkan komentar baris yang mereferensikan pembantu.
Masalah: Menyebarkan rakitan Beta 3 ASP.NET Razor ke folder Bin mungkin tidak berfungsi di situs hosting
Jika Anda menyebarkan situs web ASP.NET Web Pages ke situs hosting, dan jika Anda menyebarkan rakitan ASP.NET Razor Beta 3 ke folder Bin situs, Anda mungkin mengalami kesalahan, termasuk yang berikut ini:
Could not load type 'Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility' from assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.Ini dapat terjadi jika penyedia hosting telah menginstal rakitan ASP.NET Web Pages Beta 1 ke dalam cache aplikasi global (GAC) server. Rakitan di GAC lebih diutamakan daripada rakitan yang diinstal secara lokal di folder Bin .
Solusi sementara Hubungi penyedia hosting Anda untuk mengonfirmasi bahwa kesalahan yang Anda lihat disebabkan oleh konflik antara versi perangkat lunak dari penyedia dan milik Anda. Jika demikian, minta penyedia hosting memperbarui rakitan di GAC server.
Masalah: Membaca umpan atau data eksternal lainnya melalui server proksi
Jika server yang menjalankan situs berada di belakang server proksi, Anda mungkin perlu mengonfigurasi informasi proksi dalam file Web.config agar dapat membaca informasi yang berasal dari luar situs Anda. Misalnya, jika Anda menggunakan pembantu
ReCaptcha, pembantu berkomunikasi dengan layanan reCAPTCHA, tetapi mungkin diblokir oleh server proksi Anda. Demikian pula, umpan yang digunakan di Halaman Web ASP.NET, seperti umpan yang digunakan oleh manajer paket, mungkin memerlukan konfigurasi proksi.Jika Anda mengalami masalah dalam bekerja dengan layanan eksternal atau bekerja dengan umpan paket, masukkan elemen berikut ke dalam file Web.config root aplikasi Anda:
<system.net> <defaultProxy> <proxy autoDetect="False" proxyaddress="[proxy URL]"/> </defaultProxy> </system.net>Untuk informasi selengkapnya tentang mengonfigurasi server proksi, lihat <Elemen proksi> (Pengaturan Jaringan) di situs Web MSDN.
Masalah: Kesalahan "Microsoft.Web.Infrastructure.dll tidak dapat dimuat"
Jika sebelumnya Anda menginstal versi Beta 1 ASP.NET Web Pages dengan sintaks Razor lalu menginstal versi Beta 3, semua rakitan yang sesuai diinstal di GAC kecuali Microsoft.Web.Infrastructure.dll. Akibatnya, ketika Anda menjalankan halaman Razor ASP.NET, Anda melihat kesalahan yang menunjukkan bahwa Microsoft.Web.Infrastructure.dll tidak dapat dimuat.
Masalah ini tidak terjadi jika Anda memuat rilis Beta 3 pada komputer yang bersih.
Penanganan masalah
Di Panel Kontrol, hapus instalan ASP.NET Halaman Web. Kemudian instal ulang rilis Beta 3.
Masalah: Menghapus instalasi .NET Framework versi 4 menonaktifkan ASP.NET Web Pages dengan Sintaks Razor
Jika Anda menghapus instalasi .NET Framework versi 4 lalu menginstalnya kembali, ASP.NET Halaman Web dengan sintaks Razor dinonaktifkan. Halaman dengan ekstensi .cshtml tidak berjalan dengan benar. ASP.NET Web Pages mendaftarkan sebuah assembly dalam file Web.config root mesin, dan menghapus .NET Framework juga akan menghapus file tersebut. Menginstal ulang .NET Framework menginstal versi baru file konfigurasi, tetapi tidak menambahkan referensi untuk rakitan Halaman Web ASP.NET.
Penanganan masalah Setelah menginstal ulang .NET Framework, instal ulang ASP.NET Web Pages dengan sintaks Razor. Ini menambahkan elemen berikut ke file Web.config di akar komputer, yang biasanya berada di lokasi berikut:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config (32-bit)
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config (64-bit)<compilation> <assemblies> <add assembly="Microsoft.WebPages.Configuration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <-- Additional assemblies here. --> </assemblies> </compilation>
Masalah: Aplikasi yang sebelumnya disebarkan dengan rakitan ASP.NET di folder Bin mengalami kesalahan
Selama penerapan, salinan rakitan Halaman Web ASP.NET (misalnya, Microsoft.WebPages.dll) disalin ke dalam folder Bin di situs web server. (Ini mungkin terjadi secara otomatis selama penyebaran atau karena pengembang secara eksplisit menyalin rakitan.) Namun, ketika rilis Beta 3 diinstal, kesalahan terjadi, seperti kesalahan bahwa jenis tertentu tidak dapat ditemukan. Ini terjadi karena sejumlah ASP.NET jenis Halaman Web dipindahkan ke namespace layanan yang berbeda untuk rilis Beta 3.
Penanganan masalah
Kosongkan folder Bin aplikasi yang disebarkan, salin rakitan baru ke folder (atau sebarkan ulang aplikasi), lalu mulai ulang aplikasi.
Masalah: URL Tanpa Ekstensi tidak menemukan file .cshtml/.vbhtml di IIS 7 atau IIS 7.5
Pada IIS 7 atau IIS 7.5, permintaan dengan URL seperti berikut ini tidak dapat menemukan halaman yang memiliki ekstensi .cshtml atau .vbhtml :
http://www.example.com/ExampleSite/ExampleFileMasalah ini muncul karena penulisan ulang URL tidak diaktifkan secara default untuk IIS 7 atau IIS 7.5. Skenario yang paling mungkin adalah Anda tidak melihat masalah saat menguji secara lokal menggunakan IIS Express, tetapi Anda mengalaminya ketika Anda menyebarkan situs web Anda ke situs web hosting.
Penanganan masalah
- Jika Anda memiliki kontrol atas komputer server, instal pembaruan yang dijelaskan dalam Pembaruan tersedia yang memungkinkan pemrosesan IIS 7.0 atau IIS 7.5 tertentu untuk menangani permintaan yang URL-nya tidak berakhir dengan titik pada komputer server.
- Jika Anda tidak memiliki kontrol atas komputer server (misalnya, Anda menyebarkan ke situs web hosting), tambahkan yang berikut ini ke file Web.config situs web:
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>
Masalah: Menggunakan Proyek Aplikasi Web atau ASP.NET MVC dan halaman Web ASP.NET dalam aplikasi yang sama
Jika Anda menggunakan Halaman Web ASP.NET dalam proyek Aplikasi Web atau aplikasi MVC ASP.NET, Anda mungkin melihat kesalahan bahwa WebPageHttpApplication tidak dapat ditemukan.
Penanganan masalah
Jika Anda mendapatkan kesalahan ini, ubah kelas dasar tempat aplikasi berasal. Dalam file Global.asax , ubah baris berikut:public class MvcApplication : WebPageHttpApplication { ... }Untuk ini:
public class MvcApplication : HttpApplication { ... }Ini berlaku membalikkan perubahan yang diperkenalkan untuk rilis Beta 1 ASP.NET Web Pages dengan sintaks Razor.
Masalah: Menyebarkan aplikasi ke komputer yang tidak menginstal SQL Server Compact
Aplikasi yang menyertakan database Ringkas SQL Server dapat berjalan di komputer tempat SQL Server Compact tidak diinstal. Microsoft WebMatrix Beta 3 secara otomatis menyalin biner ini untuk Anda dan melakukan transformasi file Web.config yang sesuai.
Penanganan masalah Jika Anda perlu menyalin file-file ini dan membuat perubahan file Web.config secara manual, lakukan hal berikut :
Salin rakitan mesin database ke folder Bin (dan subfolder) aplikasi di komputer target:
- Salin C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dllke\Bin
- Salin C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private\x86\* to\Bin\x86
- Salin C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private\amd64\* to\Bin\amd64
Di folder akar situs web, buat atau buka file Web.config . (Di WebMatrix Beta 3, tipe file ini tersedia jika Anda mengklik Semua dalam kotak dialog Pilih Tipe File .)
Tambahkan elemen berikut sebagai turunan dari <elemen konfigurasi> (bukan di dalam <elemen system.web> ):
<system.data> <DbProviderFactories> <remove invariant="System.Data.SqlServerCe.4.0"></remove> <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.4.0" Description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/> </DbProviderFactories> </system.data>
Masalah: Pembantu Database dan WebGrid tidak berfungsi dalam Kepercayaan Sedang di Visual Basic
Jika Anda menggunakan Visual Basic (membuat file .vbhtml) maka helper
DatabasedanWebGridtidak akan berfungsi jika aplikasi diatur untuk menggunakan Medium Trust.Penanganan masalah
Atur sementara aplikasi untuk menggunakan Kepercayaan Penuh.
Microsoft SQL Server Compact
Masalah: Properti "Enkripsi" tidak dikenali
SQL Server Compact 4.0 tidak mengenali
EncryptpropertiSqlCeConnectionkelas. Anda tidak boleh menggunakan properti ini untuk mengenkripsi file database. PropertiEncrypttidak digunakan lagi dalam rilis SQL Server Compact 3.5 dan hanya dipertahankan untuk kompatibilitas mundur.Penanganan masalah
Encryption ModeGunakan propertiSqlCeConnectionkelas untuk mengenkripsi file database SQL Server Compact 4.0. Contoh berikut menunjukkan cara membuat database SQL Server Compact 4.0 terenkripsi menggunakanEncryption Modeproperti :SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=;p;w;here;>;"); engine.CreateDatabase();Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=Password=;p;w;here;>;") engine.CreateDatabase()Untuk mengubah mode enkripsi database SQL Server Compact 4.0 yang ada, lakukan hal berikut:
SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;Password=Password=;p;w;here;>;"); engine.Compact("Data Source=Northwind.sdf;encryption mode=ppc2003 compatibility;Password=Password=;p;w;here;>;");Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;Password=Password=;p;w;here;>;") engine.Compact("Data Source=Northwind.sdf;encryption mode=ppc2003 compatibility;Password=Password=;p;w;here;>;")Untuk mengenkripsi database SQL Server Compact 4.0 yang tidak terenkripsi, lakukan hal berikut:
SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf"); engine.Compact("Data Source=Northwind.sdf;encryption mode=platform default;Password=;p;w;here;>;");Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;") engine.Compact("Data Source=Northwind.sdf;encryption mode=platform default;Password=;p;w;here;>;")
Masalah: Pustaka runtime Microsoft Visual C++ 2008 diperlukan
DLL asli SQL Server Compact 4.0 memerlukan Microsoft Visual C++ 2008 Runtime Libraries (x86, IA64, dan x64), Service Pack 1.
Penanganan masalah
Instal .NET Framework 3.5 SP1. Ini juga menginstal Visual C++ 2008 Runtime Libraries SP1. Anda dapat mengunduh pustaka dari lokasi berikut:Paket Pembaruan Keamanan ATL Microsoft Visual C++ 2008 Service Pack 1 Redistributable
Catatan
Perhatikan bahwa menginstal .NET Framework 2.0, 3.0, atau 4 tidak menginstal Visual C++ 2008 Runtime Libraries SP1.
Masalah: Jika SQL Server Compact diinstal sebelum menginstal .NET Framework di komputer, nama invariant penyedianya tidak terdaftar dalam file .NET Framework machine.config
SQL Server Compact dapat diinstal pada komputer yang tidak menginstal .NET Framework karena SQL Server Compact memang memerlukan kerangka kerja .NET. Jika .NET Framework versi 3.5 atau 4 tidak diinstal sebelum Anda menginstal SQL Server Compact, Penyiapan Ringkas SQL Server tidak mendaftarkan nama invariant penyedianya dalam file machine.config . Aplikasi apa pun yang bergantung pada entri Ringkas SQL Server dalam file machine.config akan gagal. Entri pendaftaran nama invariant di machine.config terlihat seperti contoh berikut:
<system.data> <DbProviderFactories> <remove invariant="System.Data.SqlServerCe.4.0"></remove> <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.4.0" Description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/> </DbProviderFactories> </system.data>Penanganan masalah
Hapus instalan SQL Server Compact 4.0 CTP1. Unduh dan instal versi lengkap .NET Framework dari lokasi berikut:Microsoft .NET Framework 3.5 Paket layanan 1 (Paket Lengkap)
Rilis Microsoft .NET Framework 4.0 (Paket Lengkap)Kemudian instal ulang SQL Server Compact 4.0 SP1.
Menginstal Aplikasi
Masalah: Menginstal aplikasi dapat memakan waktu lama jika folder Dokumen Saya pengguna dialihkan ke berbagi jaringan
Penanganan masalah
Tidak ada. Aplikasi mungkin perlu waktu cukup lama untuk diinstal, tetapi akan diinstal dengan benar.
Aplikasi Penerbitan
Masalah: Situs mungkin tidak berfungsi setelah penerbitan jika bidang "URL Tujuan" tidak diawali dengan http:// atau https://
Dalam kotak dialog Pengaturan Penerbitan , jika URL tujuan tidak dimulai dengan
http://atauhttps://, situs mungkin tidak berfungsi setelah penyebaran.Penanganan masalah
Pastikan sebelum Anda menerbitkan situs, URL tujuan dalam kotak dialog Terbitkan Pengaturan dimulai denganhttp://atauhttps://.
Masalah: Menerbitkan database MySQL gagal dengan kesalahan "Gagal menerbitkan database. Ini dapat terjadi jika database jarak jauh tidak dapat menjalankan skrip."
Kesalahan dapat terjadi karena sejumlah alasan. Salah satu alasan Anda dapat melihat kesalahan ini adalah jika skrip database berisi satu karakter kutipan (') dan kumpulan karakter default database MySQL tujuan bukan ke UTF-8.
Penanganan masalah
Atur set karakter default untuk database MySQL jarak jauh ke UTF-8.
Masalah Lain
Masalah: Pencarian/Filter tidak berfungsi di Laporan untuk Grup Menurut: Jenis Masalah
Saat Anda menjalankan laporan untuk situs, jika Anda memasukkan teks dalam kotak Filter menurut URL dan klik Cari, tidak ada yang terjadi. Ini karena kontrol ini tidak berfungsi saat status Kelompokkan Menurut laporan diatur ke Jenis Masalah, yang merupakan default.
Penanganan masalah Di tab Kelompokkan Menurut pita, klik URL untuk mengelompokkan entri menurut URL sumbernya. Kotak teks dan tombol untuk memfilter entri berfungsi saat dalam status ini.
Masalah: Aplikasi WCF gagal dijalankan dengan IIS Express
Menelusuri aplikasi WCF menghasilkan kesalahan seperti berikut:
Tidak dapat memuat file atau rakitan 'Microsoft.Web.Administration, Version=7.0.0.0, Culture=netral,PublicKeyToken=31bf3856ad364e35' atau salah satu dependensinya. Sistem tidak dapat menemukan file yang ditentukan
Ini terjadi karena rilis IIS Express Beta tidak mendukung WCF secara default.
Penanganan masalah Gunakan salah satu solusi berikut (solusi #2 memerlukan Microsoft Windows Vista atau yang lebih tinggi):
Salin rakitan Microsoft.Web.dll dan Microsoft.Web.Administration.dll dari lokasi penginstalan WebMatrix ke direktori bin aplikasi WCF. Secara default, WebMatrix diinstal di subfolder Microsoft WebMatrix di bawah folder Program Files sistem.
Di Microsoft Windows Vista atau yang lebih tinggi, buat symlink ke rakitan di direktori bin menggunakan perintah berikut. (Pendekatan ini memiliki keuntungan karena tidak membuat salinan rakitan.)
mklink Microsoft.Web.Administration.dll "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.Administration.dll" mklink Microsoft.Web.dll "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.dll"Pasang dua rakitan di GAC. Dari prompt yang ditingkatkan, jalankan perintah berikut:
gacutil /i "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.Administration.dll" gacutil /i "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.dll"
Masalah: WebMatrix Beta 3 tidak dapat melakukan tugas tertentu yang memerlukan elevasi
WebMatrix Beta 3 tidak dapat melakukan tugas tertentu yang memerlukan elevasi, seperti menginstal komponen tambahan dalam situasi berikut:
- Pada Windows Vista atau Windows 7, Anda masuk dengan akun yang tidak memiliki hak administratif dan Kontrol Akun Pengguna (UAC) dinonaktifkan.
- Anda menggunakan Microsoft Windows XP atau Microsoft Windows Server 2003.
Penanganan masalah
Sebagian besar tugas di WebMatrix Beta 3 tidak memerlukan izin administratif. Bagi mereka yang melakukannya, Anda dapat melakukan operasi sebagai administrator, atau mengikuti langkah-langkah berikut:
- Pada Windows Vista atau Windows 7, aktifkan UAC.
- Pada Windows XP, tambahkan pengguna ke grup keamanan Administrator.
Masalah: "Situs dari Galeri Web" dinonaktifkan
Opsi Situs dari Galeri Web dinonaktifkan jika Penginstal Platform Web 3.0 tidak diinstal.
Penanganan masalah
Instal Microsoft Web Platform Installer 3.0.
Masalah: Pada Windows Server 2003, IIS Express tidak dimulai untuk pengguna non-administratif
Pada Windows Server 2003, saat Anda meluncurkan halaman atau memulai IIS Express, IIS Express tidak dimulai. Untuk halaman Web, kesalahan ditampilkan yang menunjukkan bahwa aplikasi telah dimulai oleh pengguna non-administratif.
Penanganan masalah
Mulai WebMatrix Beta 3 sebagai pengguna administratif.
Masalah: Google Chrome tidak tersedia sebagai opsi Jalankan
Google Chrome tidak ditampilkan dalam daftar browser di bawah Jalankan di tab Beranda .
Penanganan masalah
Beberapa versi Google Chrome tidak mendaftarkan diri dengan benar dengan fitur Program Default di Windows. Sebagai solusinya, mulai Google Chrome, klik menu Kustomisasi dan kontrol Google Chrome , klik Opsi, lalu klik Jadikan Google Chrome browser default saya.
Masalah: Kotak dialog "Kunci Asing" tidak mengizinkan memasukkan kunci primer
Kotak dialog Kunci Asing tidak memungkinkan Anda memasukkan nama kunci utama dari tabel kunci utama.
Penanganan masalah
Ini disengaja. Anda tidak perlu memasukkan nama kunci utama dari tabel kunci utama.
Masalah: Tombol "Hubungan" dinonaktifkan
Tombol Hubungan di bawah tab Tabel di ruang kerja Database dinonaktifkan untuk database Ringkas SQL Server.
Penanganan masalah
Tidak ada. SQL Server Compact tidak mendukung hubungan antar tabel.
Masalah: Kueri SQL berparameter melempar pengecualian
Di SQL Server Compact 4.0, jika Anda tidak menentukan jenis data seperti
SqlDbTypeatauDbTypeuntuk parameter dalam kueri berparameter, pengecualian akan dilemparkan saat kueri berjalan.Penanganan masalah
Secara eksplisit mengatur jenis data untuk parameter sepertiSqlDbTypeatauDbType. Ini sangat penting dalam kasus jenis data BLOB (imagedanntext). Gunakan kode seperti berikut:SqlCeEngine engine = new SqlCeEngine(connString); engine.CreateDatabase(); engine.Dispose(); SqlCeConnection conn = new SqlCeConnection(connString); conn.Open(); SqlCeCommand cmd = conn.CreateCommand(); cmd.CommandText = "CREATE TABLE BlobTable(name nvarchar(128), blob ntext);"; cmd.ExecuteNonQuery(); cmd.CommandText = "INSERT INTO BlobTable(name, blob) VALUES (@name, @blob);"; SqlCeParameter paramName = cmd.Parameters.Add("name", SqlDbType.NVarChar, 128); SqlCeParameter paramBlob = cmd.Parameters.Add("blob", SqlDbType.NText); paramName.Value = "Name1"; paramBlob.Value = "Name1".PadLeft(4001); cmd.ExecuteNonQuery();Dim engine As SqlCeEngine = New SqlCeEngine(connString) engine.CreateDatabase() engine.Dispose() Dim conn As SqlCeConnection = New SqlCeConnection(connString) conn.Open() Dim cmd As SqlCeCommand = conn.CreateCommand() cmd.CommandText = "CREATE TABLE BlobTable(name nvarchar(128), blob ntext);" cmd.ExecuteNonQuery() cmd.CommandText = "INSERT INTO BlobTable(name, blob) VALUES (@name, @blob);" Dim paramName As SqlCeParameter Dim paramBlob As SqlCeParameterparamName = cmd.Parameters.Add("name", SqlDbType.NVarChar, 128) paramName.Value = "Name1" paramBlob = cmd.Parameters.Add("blob", SqlDbType.NText) paramBlob.Value = "Name1".PadLeft(4001) cmd.ExecuteNonQuery()
Untuk Informasi Selengkapnya
Untuk informasi selengkapnya tentang WebMatrix Beta 3, lihat situs web berikut ini: