2008年12月30日 星期二
手動安裝.NET 2.0組態設定工具
1.複製.NET Framework 2.0 SDK 中以下檔案到硬碟以下目錄 C:\Program Files\Microsoft Visual Studio 9.0\SDK\v3.5\Bin
mscorcfg.dll
mscorcfg.msc
mscormmc11.cfg
mscormmc.dll
reg20Conig.reg
如果找不到這些檔,可以點這 (理論上我是沒有放毒...,不放心的話請勿下載)
2.將mscorcfg.dll註冊到GAC,使用Visual Studio 命令提示字元執行:
gacutil -i mscorcfg.dll
3.複製本文====行之後內容存成reg20Conig.reg檔案(從Windows Registry Editor Version 5.00這行開始,本文的rar檔內含此檔),若dll所在目錄不同,先修改其中的檔案目錄,在檔案總管雙擊reg20Conig.reg註冊系統登錄 !
4.使用命令提示字元執行mmc開啟嵌入式管理單元->File->Add Remove/Snap-in -> Add ->.NET Framework 2.0 Configuration->OK
====================================
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\CLSID\{A22B5BA1-D8CF-4db6-BC91-CFC1A04E2469}]
[-HKEY_CLASSES_ROOT\CLSID\{D8FE614D-4851-4a72-998D-D1F2E750A050}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\{A22B5BA1-D8CF-4db6-BC91-CFC1A04E2469}]
[HKEY_CLASSES_ROOT\CLSID\{A22B5BA1-D8CF-4db6-BC91-CFC1A04E2469}]
@="Microsoft.CLRAdmin.CData"
[HKEY_CLASSES_ROOT\CLSID\{A22B5BA1-D8CF-4db6-BC91-CFC1A04E2469}\Implemented Categories]
[HKEY_CLASSES_ROOT\CLSID\{A22B5BA1-D8CF-4db6-BC91-CFC1A04E2469}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
@=""
[HKEY_CLASSES_ROOT\CLSID\{A22B5BA1-D8CF-4db6-BC91-CFC1A04E2469}\InprocServer32]
@="C:\\Program Files\\Microsoft Visual Studio 9.0\\SDK\\v3.5\\Bin\\mscormmc.dll"
"ThreadingModel"="Both"
"Class"="Microsoft.CLRAdmin.CData"
"Assembly"="mscorcfg, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"RuntimeVersion"="v2.0.50727"
[HKEY_CLASSES_ROOT\CLSID\{A22B5BA1-D8CF-4db6-BC91-CFC1A04E2469}\InprocServer32\2.0.0.0]
"Class"="Microsoft.CLRAdmin.CData"
"Assembly"="mscorcfg, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"RuntimeVersion"="v2.0.50727"
[HKEY_CLASSES_ROOT\CLSID\{A22B5BA1-D8CF-4db6-BC91-CFC1A04E2469}\ProgId]
@="Microsoft.CLRAdmin.CData"
[HKEY_CLASSES_ROOT\CLSID\{D8FE614D-4851-4a72-998D-D1F2E750A050}]
@="Microsoft.CLRAdmin.CAbout"
[HKEY_CLASSES_ROOT\CLSID\{D8FE614D-4851-4a72-998D-D1F2E750A050}\Implemented Categories]
[HKEY_CLASSES_ROOT\CLSID\{D8FE614D-4851-4a72-998D-D1F2E750A050}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
@=""
[HKEY_CLASSES_ROOT\CLSID\{D8FE614D-4851-4a72-998D-D1F2E750A050}\InprocServer32]
@="C:\\Program Files\\Microsoft Visual Studio 9.0\\SDK\\v3.5\\Bin\\mscormmc.dll"
"ThreadingModel"="Both"
"Class"="Microsoft.CLRAdmin.CAbout"
"Assembly"="mscorcfg, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"RuntimeVersion"="v2.0.50727"
[HKEY_CLASSES_ROOT\CLSID\{D8FE614D-4851-4a72-998D-D1F2E750A050}\InprocServer32\2.0.0.0]
"Class"="Microsoft.CLRAdmin.CAbout"
"Assembly"="mscorcfg, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"RuntimeVersion"="v2.0.50727"
[HKEY_CLASSES_ROOT\CLSID\{D8FE614D-4851-4a72-998D-D1F2E750A050}\ProgId]
@="Microsoft.CLRAdmin.CAbout"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\{A22B5BA1-D8CF-4db6-BC91-CFC1A04E2469}]
"About"="{D8FE614D-4851-4a72-998D-D1F2E750A050}"
"NameString"=".NET Framework 2.0 Configuration"
"NameStringIndirect"="@C:\\Program Files\\Microsoft Visual Studio 9.0\\SDK\\v3.5\\Bin\\mscormmc.dll,-30"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\{A22B5BA1-D8CF-4db6-BC91-CFC1A04E2469}\StandAlone]
@=""
2008年12月16日 星期二
Step-By-Step教學(19):套用Forms驗證模組到任何類型的檔案
舉例來說,若你從IE 輸入 http://localhost/iisstart.htm,你會看到網頁呈現如下
以下說明套用Forms驗證模組到任何類型的檔案,並且將Forms驗證從Web應用層式提升到伺服器層級的步驟,當你試圖存取htm類型的網頁,需先通過Forms驗證:
1) 在inetpub\wwwroot下建立一個login.aspx網頁,包含:
2)login按鈕的Click事件處理常式,要由帳號一定要是ucom,密碼為vivid
3) 加入以下Web.config檔到inetpub\wwwroot下
4)從IE 輸入 http://localhost/iisstart.htm,你會看到網頁呈現如下,要求先登入
5)加入以下test.asp檔到inetpub\wwwroot下,同樣地從IE 輸入 http://localhost/iisstart.htm,你會看網站要求先登入
2008年12月15日 星期一
移植ASP.NET 2.0應用程式到IIS 7
但在IIS上執行時,會發生以下500號錯誤:
您可以使用以下兩個方式解決
(1)執行appcmd.exe執行以下指令移植 ASP.NET應用程式到整合模式(假設Web應用程式名稱為testM):
檢視IIS 7管理工具,自訂的CopyRightModule已註冊成功
(2)在ASP.NET應用程式組態檔案中,改用以下方式組態自訂的Module (如果執行appcmd.exe會自動產生以下組態設定):
2008年12月14日 星期日
部署 ASP.NET 應用程式至IIS 7 注意事項
2008年12月9日 星期二
Step-By-Step教學(18):發行你的資料庫資料
2008年12月5日 星期五
Step-By-Step教學(17):Entity Framework 與 資料繫結
1.在Visual Studio選取「Data」->「Add New Data Source」,建立一個資料來源,接著會出現精靈,選取以「Object」作為資料來源
2.接下來選擇要繫結的Entity,如employee
3.接下來完成精靈後,可以在Data Source視窗看到employee類別,您可以從Data Source視窗拖曳想要繫結的屬性到表單畫面中,表單上會自動產生employeeBindingSource與employeeBindingNavigator兩個元件。
4.最後在Form_Load程式中,透過ObjectQuery的Execute方法查詢出資料,再將查詢結果指定給BindingSource元件即可:
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Windows.Forms;
9 using System.Data.Objects;
10 namespace EFTest
11 {
12 public partial class Form2 : Form
13 {
14 public Form2()
15 {
16 InitializeComponent();
17 }
18 private void Form2_Load(object sender, EventArgs e)
19 {
20 var ctx = new pubsEntities();
21 ObjectQuery<employee> regions = ctx.employee;
22 employeeBindingSource.DataSource = regions.Execute(MergeOption.AppendOnly);
23 }
24 }
25 }
5.執行結果
2008年12月4日 星期四
Step-By-Step教學(16):使用Object Service查詢 Entity Framework
1.建立一個Windows Forms應用程式
2.加入ADO.NET Entity Data Model
3.選DataBase
4.選Pubs資料庫
5.勾選想要的資料表
6.在Forms加兩個Button,一個ListBox
7.匯入namespace,分別在兩個Button的Click事件加入程式碼,第一個button利用ObjectQuery查詢employee資料表;第二個button則傳入參數做篩選,程式碼看起來如:
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Windows.Forms;
9
10 using System.Data.Objects;
11 namespace EFTest
12 {
13 public partial class Form1 : Form
14 {
15 private void button1_Click(object sender, EventArgs e)
16 {
17 var ctx = new pubsEntities();
18 ObjectQuery<employee> empList = ctx.employee;
19 foreach (var emp in empList)
20 {
21 listBox1.Items.Add(emp.emp_id.ToString() + "\t" + emp.fname);
22 }
23 }
24
25 private void button2_Click(object sender, EventArgs e)
26 {
27 var ctx = new pubsEntities();
28 ObjectQuery<employee> empList = ctx.employee.Where("it.fname like @name", new ObjectParameter("name","a%"));
29 foreach (var emp in empList)
30 {
31 listBox1.Items.Add(emp.emp_id.ToString() + "\t" + emp.fname);
32 }
33 }
34
35 public Form1()
36 {
37 InitializeComponent();
38 }
39 }
40 }
8.第一個Button執行結果:
9.第2個Button執行結果: