Baca dalam bahasa Inggris

Bagikan melalui


Web Matrix dan ASP.NET Web Pages (Razor) Beta 3 Release Readme

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.

Solusi Sementara
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

Solusi Sementara
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 )

Solusi Sementara
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.

Solusi Sementara
Gunakan Program dan Fitur di Windows Panel Kontrol untuk menghapus instalan 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.Raw memungkinkan 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 HrefAttribute WebPage kelas 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 baru Html.Raw untuk 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 @helper sintaks. Intinya, @helper sintaksis 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 @helper berfungsi 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.HttpContext telah dihapus. Gunakan HttpContext.Current sebagai gantinya. (Properti WebPageContext.HttpContext hanya membungkus ini.)

Perubahan: Pembantu "Facebook" dipindahkan ke paket baru

Pembantu Facebook telah dipindahkan ke pustaka Facebook.Helper , yang mencakup pembantu Facebook dan fungsionalitas tambahan. Anda harus menginstal pustaka ini sebagai paket terpisah, seperti yang dijelaskan dalam "Menginstal Pembantu dengan Manajer Paket" dalam tutorial Memulai halaman ASP.NET.

Perubahan: Jenis Keanggotaan, Peran, dan Keamanan berpindah ke rakitan baru

Jenis berikut dipindahkan ke WebMatrix.WebData rakitan:

  • ExtendedMembershipProvider
  • SimpleMembershipProvider
  • SimpleRoleProvider
  • WebSecurity

Ubah: Kelas "TagBuilder" dipindahkan ke rakitan System.Web.WebPages.dll

Kelas TagBuilder telah 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 menggunakan TagBuilder kelas .

Namun, kelas masih berada di System.Web.Mvc namespace layanan. Untuk menggunakan TagBuilder kelas (misalnya, dalam pembantu ASP.NET Razor kustom), Anda harus mereferensikan namespace (misalnya, dengan menambahkan @using System.Web.Mvc ke 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.Exclude metode , meneruskan nama atau nama bidang untuk dikecualikan dari validasi. Sintaks baru tersedia dalam rilis Beta 3 untuk melewati validasi. Metode yang Validation digunakan 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.Unvalidated metode , 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 dalam Formkoleksi , , QueryStringCookies, dan ServerVariables . Contoh berikut menunjukkan cara menggunakan Unvalidated metode :

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 .) autoCreateTables Jika 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.InitializeDatabaseConnection metode . 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.

Solusi Sementara
Pastikan bahwa nama yang diteruskan dalam InitializeDatabaseConnection metode cocok dengan tabel profil pengguna dalam database keanggotaan, atau pastikan bahwa autoCreateTables parameter 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.

Solusi Sementara
using Sertakan pernyataan (imports dalam 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 IntelliSense dan templat proyek untuk aplikasi halaman web ASP.NET di Visual Studio, instal ASP.NET MVC 3 RC baik melalui Alat 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 Facebook (misalnya, kelas) tidak dapat ditemukan. Mulai dari Beta 2 dan berlanjut di Beta 3, pembantu telah dipindahkan ke paket yang harus Anda instal secara eksplisit. Situs yang ada tidak dimutakhirkan untuk menyertakan paket ini; ini termasuk situs di folder \My Documents\IISExpress atau \My Documents\My Web Sites . Secara khusus, Anda akan melihat kesalahan ini jika Anda menggunakan situs default di Situs Saya (WebSite1), yang menyertakan referensi ke pembantu Twitter .

Solusi Sementara
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 .

Penanganan masalah Hubungi penyedia hosting Anda untuk mengonfirmasi bahwa kesalahan yang Anda lihat disebabkan oleh konflik antara versi rakitan penyedia dan rakitan 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 akar 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 ASP.NET Razor, 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.

Solusi Sementara
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 rakitan dalam file Web.config akar mesin, dan menghapus .NET Framework 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 Halaman Web 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 penyebaran, salinan rakitan Halaman Web ASP.NET (misalnya, Microsoft.WebPages.dll) ke folder Bin situs web di 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.

Solusi Sementara
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/ExampleFile

Masalah 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.

Solusi Sementara

<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.

Solusi Sementara
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 file Web.config berubah secara manual, lakukan hal berikut:

  1. 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.dll ke \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
  2. Di folder akar situs web, buat atau buka file Web.config . (Di WebMatrix Beta 3, jenis file ini tersedia jika Anda mengklik Semua dalam kotak dialog Pilih Tipe File.)

  3. 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 ), dan pembantu Database WebGrid tidak akan berfungsi jika aplikasi diatur untuk menggunakan Medium Trust.

Solusi Sementara
Atur sementara aplikasi untuk menggunakan Kepercayaan Penuh.

Microsoft SQL Server Compact

Masalah: Properti "Enkripsi" tidak dikenali

SQL Server Compact 4.0 tidak mengenali Encrypt properti SqlCeConnection kelas. Anda tidak boleh menggunakan properti ini untuk mengenkripsi file database. Properti Encrypt tidak digunakan lagi dalam rilis SQL Server Compact 3.5 dan hanya dipertahankan untuk kompatibilitas mundur.

Solusi Sementara
Encryption Mode Gunakan properti SqlCeConnection kelas untuk mengenkripsi file database SQL Server Compact 4.0. Contoh berikut menunjukkan cara membuat database SQL Server Compact 4.0 terenkripsi menggunakan Encryption Mode properti :

SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;");
engine.CreateDatabase();
Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")
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=<enterStrongPasswordHere>;");
engine.Compact("Data Source=Northwind.sdf;encryption mode=ppc2003 compatibility;Password=<enterStrongPasswordHere>;");
Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;")
engine.Compact("Data Source=Northwind.sdf;encryption mode=ppc2003 compatibility;Password=<enterStrongPasswordHere>;")

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=<enterStrongPasswordHere>;");
Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;")
engine.Compact("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")

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.

Solusi Sementara
Instal .NET Framework 3.5 SP1. Ini juga menginstal Visual C++ 2008 Runtime Libraries SP1. Anda dapat mengunduh pustaka dari lokasi berikut:

Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package ATL Security Update

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 maupun 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>

Solusi Sementara
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

Solusi Sementara
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:// atau https://, situs mungkin tidak berfungsi setelah penyebaran.

Solusi Sementara
Pastikan sebelum Anda menerbitkan situs, URL tujuan dalam kotak dialog Terbitkan Pengaturan dimulai dengan http:// atau https://.

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.

Solusi Sementara
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):

  1. 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.

  2. 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"
    
  3. 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.

Solusi Sementara
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.

Opsi Situs dari Galeri Web dinonaktifkan jika Penginstal Platform Web 3.0 tidak diinstal.

Solusi Sementara
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.

Solusi Sementara
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 .

Solusi Sementara
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.

Solusi Sementara
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.

Solusi Sementara
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 SqlDbType atau DbType untuk parameter dalam kueri berparameter, pengecualian akan dilemparkan saat kueri berjalan.

Solusi Sementara
Secara eksplisit mengatur jenis data untuk parameter seperti SqlDbType atau DbType. Ini sangat penting dalam kasus jenis data BLOB (image dan ntext). 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: