發表文章

目前顯示的是 2011的文章

找不到必要的 .Net Framework Data Provider。可能尚未安裝。

找不到必要的 .Net Framework Data Provider。可能尚未安裝。 最近將新開發的系統從自己電腦移到SERVER上時,發生了詭異的現象 在SERVER上開VS2010時整個系統WORK都正常,但是只要跑IIS服務時 連線DB的時候就會出現這詭異的異常 找不到必要的 .Net Framework Data Provider。可能尚未安裝。 當然得也搞了我超久,網路上沒人遇到這個問題嗎?好怪異 不過最後在大陸網站上找到也有發生這個問題,解決方法是 開起IIS應用程式集區,選擇指定的應用程式名稱,開啟進階設定,將啟用32位元應用程式 True及載入使用者設定檔True 這樣就能能啟動 .Net Framework Data Provider

C# WOL ROUTE 分享器 網路喚醒

圖片
這陣子常常需要連線回家~但連線回去後又不想一直開著電腦浪費電,於是就想到好久以前就有的技術WOL 可以用,但硬體設備有了,卻缺少了軟體的控制,網路上雖然有很多,但自己也想知道一下原理,於是就動手寫了一下WOL這奇怪的封包!! 我的環境 俗稱小烏龜(WAN) >> 分享器(ROUTE) >> 家中電腦(多台) 以下是我的分享器設定 /// <summary> /// 發送WOL至遠端電腦 /// </summary> /// <param name="strIP">目的地IP</param> /// <param name="intPort">目的地PORT</param> /// <param name="strMAC">遠端電腦的MAC</param> /// <returns>True/False</returns> private Boolean SendWOLCmd(String strIP,int intPort, String[] strMAC) {  System.Net.IPAddress IPAdd = null;  System.Net.IPEndPoint IPEP = null;  System.Net.Sockets.Socket socket = null;  System.Net.IPHostEntry hostEntry = null;  try  {   // 如果是網域名稱的話則由 IPHostEntry 來要求DNS取得IP   if (!System.Net.IPAddress.TryParse(strIP, out IPAdd))   {    // 向本機端的DNS取得IP    hostEntry = System.Net.Dns.GetHostEntry(strIP);    IPAdd = System.Net.IPAddress.Parse(hostEntry.AddressList[0].ToString());   }   

DropDownList Selected選擇

找了很久!!這方法才是正確的 try {     DropDownList.selectindex = -1;     DropDownList.Items.FindByValue( 值 ).Selected = true; } catch {     DropDownList.selectindex = 0; }

Windows 7 IIS 7 + PHP 錯誤:0x8007010b

這星期為了將PHP掛載到IIS7裏頭搞得很頭痛!!,之前自己安裝作業系統都沒發生過無法Work PHP的狀況,但這次因新電腦作業系統已安裝好的情況下去安裝PHP到 IIS7中發生了一個很嚴重的問題,雖然說Google一下就知道發生這個問題的原因 0x8007010b 錯誤一般來說是沒有安裝 Microsoft Visual C++ 2008 可轉散發套件 (x86) 而導致這樣的問題發生,但是我確實有安裝的情況下還是會發生這樣的問題,直到我用了許多的方法測試找到了問題發生的原因 Microsoft Visual C++ 2008 可轉散發套件 (x86)  這是中文版的!! 在 http://windows.php.net/download  官方有提到 要安裝  Microsoft 2008 C++ Runtime (x86)   ??聽起來這是跟 Microsoft Visual C++ 2008 可轉散發套件 (x86)  一樣的東西~但是!! 一定要安裝 英文版 的!!才是問題的原因!! 中文版安裝完以後~英文版接著安裝~安裝完再 解除安裝及變更程式裡會發現到~同時出現兩個轉發套件在裡面!! Microsoft Visual C++ 2008 Redistributeable - x86 9.0.21022 Microsoft Visual C++ 2008 Redistributeable - x86 9.0.21022 以下是錯誤畫面狀態的訊息 應用程式 "DEFAULT WEB SITE" 中有伺服器錯誤 Internet Information Services 7.5 錯誤摘要 HTTP 錯誤 500.0 - Internal Server Error 發生不明的 FastCGI 錯誤 詳細錯誤資訊 模組 FastCgiModule 通知 ExecuteRequestHandler 處理常式 PHP_via_FastCGI 錯誤碼 0x8007010b 要求的 URL http://localhost:80/phpinfo.php 實體路徑 C:\inetpub\wwwroot\phpinfo.php 登入方法 匿名 登入使用者 匿名

ASP.Net URL 正則表示法 Regular Expressions URL Post Authority QueryString等等資訊取得

// 取得URL 物件 System.Uri uri = Request.Url; // 自訂URL 物件 (正則表示法 Regular Expressions) System.Uri seturi = new System.Uri("http://tw.yahoo.com"); Response.Write("Request.Url.OriginalString : " + uri.OriginalString + " "); Response.Write("Request.Url.AbsoluteUri : " + uri.AbsoluteUri + " "); Response.Write("Request.Url.Scheme : " + uri.Scheme + " "); Response.Write("Request.Url.Host : " + uri.Host + " "); Response.Write("Request.Url.Authority : " + uri.Authority + " "); Response.Write("Request.Url.Port : " + uri.Port + " "); Response.Write("Request.Url.PathAndQuery : " + uri.PathAndQuery + " "); Response.Write("Request.Url.AbsolutePath : " + uri.AbsolutePath + " "); Response.Write("Request.Url.Query : " + uri.Query + " "); Response.Write("Request.QueryString : " + Request

C# RegularExpressions 字串驗證 正規運算是判斷

轉貼來源: http://tsczx.pixnet.net/blog/post/24462274 using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; using Sky.Framework.Text.RegularExpressions; namespace Sky.Components {     public class ValidatorHelper     {         /// <summary>         /// 判斷字串是否與指定正則運算式匹配         /// </summary>         /// <param name="input">要驗證的字串</param>         /// <param name="regularExp">正則運算式</param>         /// <returns>驗證通過返回true</returns>         public static bool IsMatch(string input, string regularExp)         {             return Regex.IsMatch(input, regularExp);         }         /// <summary>         /// 驗證非負整數(正整數 + 0)         /// </summary>         /// <param name="input">要驗證的字串</param>         /// <returns>驗證通過返回true</returns>         public static bool IsUnMinusInt(string input)         {            

C# ASP.Net 條碼 一維 二維 Code 39 & QC Code ashx

圖片
最近同事剛好提到想推這種專案,剛好也把之前零零散散的Code重新整理寫個比較完整點的WebAPP。 範例檔案: Download 範例說明,QC Code的產生方法是使用了 ThoughtWorks.QRCode.dll ,所以要自己做QCCode的朋友請將自己專案中加入此.dll入參考,.dll也在範例中有置入,請自行取用。 讀取條碼的方式我把它寫成 ASHX(泛型處理常式) 取用的話可以直接由URL Get的方式來傳遞值。 此Code要特別註明一下,此Code的寫法其實是之前在Google上找到後自己改寫了方法,原始作者真的忘記是誰寫的了,如果您是作者看到我轉載您的Code的話麻煩告知一下^^以便我提供原始作者的來源地。 範例檔案: Download

WCF 應用 讀取 寫入 Session

最近整合同事一隻WCF的程式~在整合的過程中一直發生SESSION無法寫入或讀取的問題,到最後才發現到原來WCF中如果要用SESSION必須設定一些參數才能使用。 web.config <configuration>  ....   <system.serviceModel>  ....     <serviceHostingEnvironment aspNetCompatibilityEnabled =" true " multipleSiteBindingsEnabled="true" />   </system.serviceModel>  </configuration> [File].svc.cs namespace WCF.Test { [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class Main : Main { public void getSession() { System.Web.HttpContext.Current.Session["NAME"]; } } }

Windows Registry Remote 遠端登陸檔 讀取注意事項

圖片
最近剛好有寫到遠端讀取登陸檔~發現好像問題一堆,但後來釐清後才發現,原來是公司網路的問題,不同網段無法取得電腦名稱,而導致程式在的過程一直會出現找不到位置的錯誤,但後來發現直接丟IP可以減少這個麻煩的問題。 寫法也沒什麼特別,不過要注意到 遠端電腦要將存取權限給打開,還有服務也要開這樣遠端電腦才有辦法讀取。 寫法的話可以參考這一篇,剛好是寫指定目的端的寫法。 C# Registry 32bit & 64bit 讀取方法 至於要注意的設定 登陸檔的權限 遠端存取登陸檔的服務

C# Registry 32bit & 64bit 讀取方法

這個東西搞了我好幾天~過去寫Registry 的時候都沒有這個問題~最近換了64bit的系統後寫Registry 才發現到~已經被動了手腳了,想搞清楚Registry 在64bit變成什麼模樣的先看一下微軟官方的說明  如何使用 Windows 64 位元版本檢視系統登錄  ,看完以後我們不多說廢話~直接給Code來讓大家知道為什麼 HKEY_LOCAL_MACHINE\SOFTWARE 的東西跟Code執行出來的完全不同!~ String MachineName = "127.0.0.1"; RegistryKey RemoteRK; if (Environment.Is64BitOperatingSystem) { RemoteRK = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, MachineName, RegistryView.Registry64).OpenSubKey(@"SOFTWARE\eAI\MMSP"); } else { RemoteRK = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, MachineName, RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Wow6432Node\eAI\MMSP"); } foreach (var ValueName in RemoteRK.GetValueNames()) { Console.WriteLine(ValueName); } Console.Read();

C# TCP & UDP 封包傳遞

圖片
這是一篇範例文章,簡單把一些元件利用很簡單的方式來表達呈現,讓入門要玩這種元件的人淺顯易懂,小弟在學習過程中都發現到很多初學者都會卡在那些神人的文章中,運用許多物件的概念將這些元件呼叫來呼叫去的,讓初學者看到頭昏眼花,所以小弟只是把這些技術運用他最原始的方法來呈現,所以看起來就像初學者學寫程式,我不喜歡炫耀功力,我只想把技術分享給更多需要的人。 使用元件 System.Net.IPEndPoint System.Net.Sockets.Socket System.Net.Sockets.TcpClient System.Net.Sockets.NetworkStream System.Net.Sockets.TcpListener 範例程式   SendFrom.exe -- 傳送封包 ReceiveFrom.exe -- 接收封包   程式範例架構 TCP 連續傳遞封包(定義自己的封包起始) TCP 單次傳送封包(接收器會一直開啟接收狀態) 範例檔案

Windows Azure 第一次上雲端 - 3). 發行我的Applaction - Windows Azure Project 部屬到 Windows Azure

圖片
在整個上雲端的過程中其實最麻煩的就在這個,利用VisualStudio的發行部屬來發佈整個App上雲端,比起另一個封裝.cspkg的方法還要複雜多了,但是對於一個開發者而言,相信用部屬發行的方法是比較妥當的。 來到Windows Azure服務的網站 點選 Create a new storage account. 輸入指定的名稱及選擇服務建置的所在地 建立完畢後在右側資訊欄位中找到 Primary access key 的 View 將Primary access key 複製下來 回到Visual Studio 在WIndows Azure儲存體上按滑鼠右鍵 加入新的儲存體帳戶 輸入剛剛建立的帳戶名稱及把複製的 Primary access key 一併貼上 並且選擇 使用預設 HTTP 端點 將雲端儲存體建立在伺服器總管中 接下來我們開始要進入正題,建立部屬環境 在伺服器種總管中 Windows Auzre 計算 按滑鼠右鍵 加入部屬環境 輸入憑證名稱(自己訂) 輸入完畢後再畫面按滑鼠右鍵 新增 1.選擇剛剛輸入的憑證名稱 2. 點選 複製完整路徑 (PS一定要點選) 回到Windows Azure服務中 開啟 Managent Certificates 點選Add a new management certificate 開啟畫面後點選 Browse 在路徑中按貼上,就可以將剛剛複製的路徑給貼上 此時在 Certificate file中的憑證就會出現了 建立完憑證後在右方資訊欄中找到 Subscription ID 複製下來 3. 將剛剛的ID貼上 4.命名憑證名稱 確定完畢後回到伺服器總管中 按 重新整理 此時部屬環境就會出現拉 建立完儲存體及部屬環境後可以開始發行囉 一樣的在Windows Azure Project 按滑鼠右鍵 發行 並選擇 將您的Windows Azure 專案部屬到Windows Azure 按下確定後會出現部屬的訊息~直到部屬完畢後~就完成囉

Windows Azure 第一次上雲端 - 3). 發行我的Applaction - 建立服務套件

圖片
發行應用程式上Windows Azure 其實是這次教學的最重要的教學,沒做過的人可能會花很多時間來找尋方法,會做的人可能會覺得很簡單。 發行Windows Azure Project 有兩種方法 ‧建立服務套件 ‧Windows Azure Project 部屬到 Windows Azure 建立服務套件 在我們的 Windows Azure Project 按滑鼠右鍵 / 發行 選擇 僅建立服務套件 / 按 確定 發行完以後會產生兩個檔案 進入到 Windows Azure服務的網站 中 按 New Hosted Service 輸入你的 服務名稱 及 網址名稱 以及配 發雲端服務的位置 接下來把卷軸往下拉~看到了 Deployment name 按 右邊 Browse Locally 來選擇剛剛發行的 * . cspkg檔案 另外一樣的在 Cofiguration file 按 右邊 Browse Locally 來選擇剛剛發行的 * . cscfg檔案 兩個檔案選擇完畢後 選擇完畢後按OK開始發佈到雲端上 .......  ....... .......  等到數十分鐘後直到整個服務狀態變成 Ready 的時候代表已經完成發佈! 接著注意到右邊的訊息列中 DNS name這個位置就是發佈到雲端上的網址囉~ 有沒有覺得很簡單呢?

Windows Azure 第一次上雲端 - 2). 建立我的Windows Azure Project

圖片
相關的Windows Azure SDK 和 Windows Azure Tools for Microsoft Visual Studio 請參考下方列表來做安裝 ‧Windows Azure SDK 和 Windows Azure Tools for Microsoft Visual Studio (2011 年 3 月) 建立我的第一個 Azure 方案 選擇一個ASP.Net Web腳色來加入 將Code寫入 這次的資料庫我選擇用LINQ to SQL的方式 在伺服器總管中建立雲端 SQL Server的連線資訊 將2個Table拉入LINQ to SQL中 完成建裡我們的ASP.Net  建立雲端的腳色目前只有幾項可以選

Windows Azure 第一次上雲端 - 1).建立SQL Server

圖片
這份教學非常適合初學者來看,對於不董任何Azure理論概念的人來看,跟著圖示說明一起操作就能完成自己的第一個程 雲端程式 。 第一次上雲端我把它分成三個部分來寫 1). 建立SQL Server 2). 建立我的Windows Azure Project 3). 發行我的Applaction - 建立服務套件 3). 發行我的Applaction - Windows Azure Project 部屬到 Windows Azure 範例檔案: Windows Azure Project.rar 資料詞彙.xls 先來到Windows Azure服務的網站 相關的申請辦法請自行Google囉^^這是小弟剛好搭上免費體驗的班車才能體驗到上雲端 http://windows.azure.com/ 登入後的畫面,微軟把整個管理介面用silverlight來做, 第一步我們先來把最基本的SQL DB建立起來 選擇  Create a new database server 進入後發現到預設會先建立一組Subscription 然後點選 Create a new Server 接下來呢就選擇您的伺服器服務要在哪裡一個地方建立 建立管理者帳號及密碼 這裡要注意喔!這邊是要設定許可連線服務的IP,不知道怎麼設定的人就設定一組全通的吧 IP Range Start : 0.0.0.0 IP Range End : 255.255.55.255 建立好囉,就會發現到中間下方的列表中就會多出一台Server出來 剛剛伺服器已經建立好了接下來就開始建立我們的DB囉 Createa a new database 設定DB的名稱及選擇相關的設定 建立好的DB可在左側列表中看到新的DB 接下來可以來看一下雲端版的SQL Server Management 看到登入畫面就輸入剛剛建立server的帳號及密碼 接下來就可以開始建立Table了,不過這次我不用雲端版的SQL Server Management 而是用 SQL Server Management Studio來建立Table 回到剛剛DB清表的畫面中右側的資訊列裡面的 Fully Qualified DNS Name 這裡