2017年5月4日 星期四

由資料庫取出資料後轉為物件的方法 / How do I transferring data from a database to an object?

首先建立一個 Class
public class Customer
{
    public string Sn { get; set; }
    public string Name { get; set; }
    public string Title { get; set; }
}
有一串 SQL 語法長這樣,取得這三個欄位
select  ROW_NUMBER() over(order by id) as Sn
       ,Name
       ,Title 
from [dbo].[Data_User]
要如何自動轉成 Customer 的 Class呢?
public static List LoadCustomers()
{
    List customers = new List();
    SqlConnection conn = new SqlConnection(strConn);
    SqlCommand cmd = new SqlCommand("select  ROW_NUMBER() over(order by id) as Sn,Name,Title from [dbo].[Data_User]", conn);

    conn.Open();
    SqlDataReader reader = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

    while (reader.Read())
    {
        Customer customer = new Customer();
        for (int i = 0; i < reader.FieldCount; i++)
        {
            PropertyInfo property = customer.GetType().GetProperty(reader.GetName(i));
            property.SetValue(customer, (reader.IsDBNull(i)) ? "" : reader.GetValue(i).ToString(), null);
        }
        customers.Add(customer);
    }
    reader.Close();
    return customers;
}
這樣就可以啦!寫彈性一點可以用到<T>。

2017年5月2日 星期二

解決「無法啟動 IIS Express Web 伺服器」問題 / Resolved "Unable to launch the IIS Express Web server" issue.

今天更換電腦後開啟專案,準備偵錯時卻出現了「無法啟動 IIS Express Web 伺服器」的訊息
於是開始詢問 GOOGLE 大叔,試了很多方法都不行,
參考了一些文章後,就來自己DEBUG了。

首先開啟「事件檢視器 (Event Viewer)」



發現了一堆來源為「IIS Express」的錯誤
再看了一下詳細內容是「無法下載 C:\Program Files (x86)\IIS Express\aspnetcore.dll 模組 DLL。資料為該錯誤。」
這是因為在不同電腦上開啟同一專案所發生的問題。

解決方式:
1、關閉 Visual Studio 方案。
2、刪除專案目錄內的「.vs」隱藏資料夾。
3、重新開啟專案後,Visual Studio 會自動依本機 IIS 環境產生新的設定檔。
4、執行,就恢復正常囉!

2017年3月14日 星期二

利用 aspnet_regiis.exe 來加密及解密 web.config 中的連線字串 / Using aspnet_regiis.exe to encrypt and decrypt the connection string in web.config.

加密:
aspnet_regiis.exe -pef "connectionStrings" "{path}"

解密:
aspnet_regiis.exe -pdf "connectionStrings" "{path}"

參數說明:
-pef 區段 web-app-physical-dir
         加密組態區段。選擇性引數:
         [-prov provider] 使用這個提供者進行加密。

-pdf 區段 web-app-physical-dir
         解密組態區段。

"connectionStrings":加/解密 configuration 節點的名字
"{path}":web.config 所在的路徑

Surface pro 6降頻至0.4GHz的解決方式

網路查到很多都說: 按住電源鍵30秒關機、再同時按住電源鍵+音量上鍵15秒重啟,解決。 實際試過是有效,但某一天看到當配件溫度過高,也是會造成降頻的原因之一, 索性就把電源線拔掉,神奇的事情發生了~~ cpu頻率就正常了 。 但其實當下電源供應器並沒有發熱的現象,只...