發表文章

WCF服務中如何同時啟用SOAP與REST兩種類型的服務端點

在WCF服務中,除了原先SOAP的服務外,我們也可以建立REST的服務類型,那如果說要在同一支服務當中,同時建立兩種的話應該要怎麼做呢?這邊先簡單筆記一下,之後有時間再來補齊 主要的方式就是要建立兩個EndPoint,一個給SOAP用,一個給REST用;而Interface的部分也要建立兩份,比如說REST的介面像是下面這樣     [ ServiceContract ]      public   interface   IRestfulService     {         #region  Member query         [ OperationContract ()]         [ WebGet ( UriTemplate   =   "/Members/Query/MemberId/{memberId}" ,  ResponseFormat   =   WebMessageFormat . Json ,  BodyStyle   =   WebMessageBodyStyle . Wrapped )]          Data . Member   restGetMemberByMemberId ( string   memberId );         [ OperationContract ()]         [ WebGet ( UriTemplate   =  ...

[Android] 使用HttpGet加上基本驗證時,得到回應400 Bad Request

圖片
在Android的開發上,搭配Restful Service去取得資料時,通常會使用HttpClient加上HttpGet去向Server抓取資料來源,例如說下面這樣 try         {             HttpResponse response = client.execute(get);             StatusLine statusLine = response.getStatusLine();             if(statusLine.getStatusCode() == HttpStatus.SC_OK){                 HttpEntity entity = response.getEntity();                 ByteArrayOutputStream out = new ByteArrayOutputStream();                 entity.writeTo(out);   ...

System.Drawing.Bitmap要如何轉換成WPF中可用的ImageSource呢?

在一般情況下,如果我們有一些圖片需要顯示在WPF的應用程式中,通常我們會使用Image,以及指定Image.Source屬性,例如說下面這樣 img1.Source = new BitmapImage(new Uri(@"image file path", UriKind.RelativeOrAbsolute)); 利用這樣的方式,將圖片檔案顯示在Imagez上面;如果來源是byte array的話,會利用類似這樣的方式 System.IO.FileStream fs = new System.IO.FileStream(filepath, System.IO.FileMode.Open, System.IO.FileAccess.Read); byte[] buffer = new byte[fs.Length]; fs.Read(buffer, 0, buffer.Length); fs.Close(); fs.Dispose(); System.IO.MemoryStream ms = new System.IO.MemoryStream(buffer); BitmapImage bitmapImage = new BitmapImage(); bitmapImage.BeginInit(); bitmapImage.StreamSource = ms; bitmapImage.EndInit(); img1.Source = bitmapImage; 這樣就可以由byte陣列轉換成WPF中可以使用的圖片來源了,不過上面這段程式碼有個問題需要處理,在memoryStream的部分,上面並沒有看到Dispose的部分,這樣子不會產生一些記憶體耗用的狀況嗎?於是嘗試加上了MemortStream.Dispose的部分之後發現『疑?阿圖片怎麼顯示不出來了』,這個部分請參考一下 Conver...

如何取得Serial port的friendly name

圖片
這邊筆記一下,一般情況來說,如果我們想要目前電腦中總共有那些Serialport可以使用的話,最常見的方式會是下面這樣             foreach (string name in SerialPort.GetPortNames())             {                 cboPortName.Items.Add(name);             } 不過如果說我們想要取得像是下圖紅框部分,比較"看的懂"(?) 的名稱的話,應該要怎麼做呢? 作法可以參考一下下面位置的相關程式碼 How to open a serial port by friendly name?

[android][Note] signing apk

這篇給自己筆記一下 在android開發上,應用程式(apk)都需要經過簽署,跟一般情況比較不同的是你可以用自我簽署的方式去做,不一定真的需要向信任的憑證機構去申請憑證。 而在開發上,在除錯模式(debug)下,IDE會自動幫你產生debug用的憑證,而debug的憑證會有時間的限制(預設是365天),時間到了在做debug的時候會發生錯誤,這個時候要把舊的憑證給刪除,詳細憑證相關的資訊可以參考下面這邊 Signing your application 部分原文 To fix this problem, simply delete the  debug.keystore  file. The default storage location for AVDs is in  ~/.android/  on OS X and Linux, in  C:\Documents and Settings\ \.android\  on Windows XP, and in  C:\Users\ \.android\  on Windows Vista and Windows 7.

利用FtpWebRequest列出FTP位置檔案結構

圖片
在FTP的操作中,有時會遇到需要列出FTP站台中,檔案、目錄相關的結構;而利用FtpWebRequest所提供的相關方法去取得時,取回的會像是下面這樣的一串文字 從結果可以看出,在資料夾的部分會出現DIR這樣樣的字樣,一般的檔案則是出現檔案名稱,但是這樣的方式要列出整個檔案結構是比較不直覺、方便的,不過我們可以利用這些資訊加工之後,就可以達到樹狀檢視這樣的效果。 試寫了一下,UI部分很簡單,只有一個按鈕以及treeview 程式碼的部分大概會像是下面這樣 private void btnRefresh_Click ( object sender , EventArgs e ) { TreeNode root = new TreeNode ( " ftproot " ) ; treeView1 . Nodes . Add ( root ) ; ftppath = string . Empty ; InserNodeData ( ref root , string . Empty ) ; root = null ; } string ftppath = string . Empty ; private void InserNodeData ( ref TreeNode node , string secondPath ) { List < clsFTPData > child = new List < clsFTPData > ( ) ; ListFtpFiles ( ref child , ftppath ) ; var childitems = from o in child orderby o . DataType , o . DataName ...

做事的10個順序

今天在Plurk上看到噗友分享的『做事必須搞清的10個順序』,覺得寫的真好,這邊紀錄一下,也分享給大家。 噗友的原文在 這邊 職場:先升值,再升職;  溝通:先求同,再求異;  執行:先完成,再完美; 學習:先記錄,再記憶;  設計:先仿造,再創造;  創業:先成長,再成功;  發展:先站住,再站高; 人際:先交流,再交心; 先做好自己,再要求別人;  先解決心情,再解決事情。