UWInfo Blog
發表新文章
[Join] | [忘記密碼] | [Login]
搜尋

搜尋意見
文章分類-darren
[所有文章分類]
  • ASP.NET (24)
  • ASP.NET2.0 (4)
  • ASP.NET4.0 (14)
  • JavaScript (17)
  • jQuery (5)
  • FireFox (2)
  • UW系統設定 (2)
  • SQL (8)
  • SQL 2008 (3)
  • mirror (0)
  • SVN (2)
  • IE (3)
  • IIS (8)
  • IIS6 (0)
  • 閒聊 (1)
  • W3C (4)
  • 作業系統 (3)
  • C# (14)
  • CSS (0)
  • FileServer (0)
  • HTML 5 (7)
  • CKEditor (0)
  • UW.dll (9)
  • Visual Studio (2)
  • Browser (2)
  • SEO (0)
  • Google Apps (1)
  • 網站輔助系統 (1)
  • DNS (0)
  • SMTP (3)
  • 網管 (5)
  • 社群API (3)
  • SSL (1)
  • App_Inventor (0)
  • URLRewrite (3)
  • 開發工具 (2)
  • JSON (0)
  • Excel2007 (0)
  • 試題 (0)
  • LINQ (0)
  • bootstrap (0)
  • Vue (0)
  • IIS7 (2)
  • foodpanda (0)
  • 編碼 (0)
  • 資安 (4)
  • Sourcetree (0)
  • MAUI (0)
  • CMD (0)
  • my sql (1)
  • API串接 (1)
  • EF MODEL (1)
所有文章分類
[darren的分類]
  • ASP.NET (48)
  • ASP.NET2.0 (15)
  • ASP.NET4.0 (35)
  • JavaScript (49)
  • jQuery (26)
  • FireFox (4)
  • UW系統設定 (3)
  • SQL (40)
  • SQL 2008 (25)
  • mirror (4)
  • SVN (4)
  • IE (9)
  • IIS (22)
  • IIS6 (1)
  • 閒聊 (7)
  • W3C (6)
  • 作業系統 (9)
  • C# (24)
  • CSS (12)
  • FileServer (1)
  • HTML 5 (11)
  • CKEditor (3)
  • UW.dll (13)
  • Visual Studio (16)
  • Browser (8)
  • SEO (1)
  • Google Apps (3)
  • 網站輔助系統 (4)
  • DNS (5)
  • SMTP (4)
  • 網管 (11)
  • 社群API (3)
  • SSL (4)
  • App_Inventor (1)
  • URLRewrite (4)
  • 開發工具 (6)
  • JSON (1)
  • Excel2007 (1)
  • 試題 (3)
  • LINQ (1)
  • bootstrap (0)
  • Vue (3)
  • IIS7 (3)
  • foodpanda (2)
  • 編碼 (2)
  • 資安 (4)
  • Sourcetree (1)
  • MAUI (1)
  • CMD (1)
  • my sql (1)
  • API串接 (1)
  • EF MODEL (1)
最新回應
  • IIS ARR (reverse proxy) 服務安裝
    ...more
  • UW DB 元件罕見的錯誤
    我之前好像也遇過, 考慮改一下 pg 的程式....more
  • UW DB物件 GetAllDataFromBaseTableWithCache 會嚴重影響效能
    我把它拿掉了....more
  • UW DB物件 GetAllDataFromBaseTableWithCache 會嚴重影響效能
    好, 把它拿掉.....more
  • 使用 facebook JS SDK 的心得筆記
    FB.login 沒有任何反應~ 不知道怎解決...more
  • IIS Server SSL 升級方式
    更新一版 reg 可以變 A...more
  • 防止 event 往上傳的終極方法
    eee...more
  • IIS Server SSL 升級方式
    Cool......more
  • UNT流量異常追蹤紀實
    有做 Request 的來源 IP 分析嗎 ? 說不定會有其它的發現.....more
  • facebook 網頁分享 Debug 模式
    Header 裡面的兩個 tag.. <meta property="og:i...more
標籤
  • choco
  • unt[t]
  • ? ORDER BY
  • 19848216
  • 4983
  • -5861
  • js21211211
  • 804
  • enum
  • XML ORDER
  • 550
  • 7112
  • bfg4144<s1
  • OrderMain
  • htmltextwr
  • Captcha
  • textwriter
  • 735
  • 0 ORDER BY
  • xss
  • DTToExcelA
  • drop
  • 無法載入檔案或組件
  • 8CRLF-Head
  • -7984
  • 282
  • [U2]
  • email
  • i16nRbWe
  • 728
  • StreamRead
  • 9115
  • sqlcacheta
  • Contains-f
  • aHR0cHM6Ly
  • fancybox
  • 0KeeTeam e
  • �
  • 3DES
  • 5456
  • 6654
  • MS8qKi9hbk
  • -2391 UNIO
  • 526
  • date
  • 88 ORDER B
  • MScpLyoqL0
  • 91MgE46X
  • ARR
  • Domain
頁數 8 / 10 上一頁 下一頁
使用 ajax 傳送有 textarea 資料時要注意處理斷行符號
最近常使用 jQuery ajax form 處理表單,意外發現使用ajax form 傳送的 textarea 資料斷行符號只會有 vbLf (\n)
而非我們一般認知的 vbCrLf (\r\n)

原因在於 javascript 變數處理 string 資料,斷行文字只有 \n 不會是 \r\n
ajax form 物件在轉換 form data 到 XHR 的 post data 時,自然就把 \r 給濾掉了
所以 Server 會端收到僅有 \n 的斷行符號

這樣使用 UW.TextFns.ContentToHtml 就不會產生 "<br>" 了
因為這支程式是使用 vbCrLf 去取代成 <br>

 
More...
darren, 2014/1/3 下午 07:39:47
Global 網站使用 CultureInfo 物件
製作 Global 網站時,由於User來自世界各地
而各地對於時間格式以及貨幣,數字顯示方式都有所不同
這時就需要 .NET Globalization -> CultureInfo 來處理這個問題
CultureInfo 是基於 Language Code 來的
而 user 的 Language Code 基本上瀏覽器會放在 Request Header 送到Server
(ex. Accept-Language: zh-TW,zh;q=0.8,en-US;q=0.6,en;q=0.4)

        Dim d As Date = Now
        Dim n As Decimal = 86400.99
        Dim Cultures() As String = {"zh-TW", "pt-BR", "pt-PT", "en-US", "en-GB", "fr-FR", "de-DE", "es-ES", "ja-JP", "zh-CN", "ko-KR", "en-IN"}
        For i As Integer = 0 To Cultures.GetUpperBound(0)
            Dim c As New Globalization.CultureInfo(Cultures(i))
            Response.Write(Cultures(i) & "<br/>" & d.ToString("D", c) & " <br/>" & d.ToString("d", c) & "<br/>" & n.ToString("C", c))
            Response.Write("<hr/>")
        Next


結果如下:

zh-TW
2013年12月25日
2013/12/25
NT$86,400.99

pt-BR
quarta-feira, 25 de dezembro de 2013
25/12/2013
R$ 86.400,99

pt-PT
quarta-feira, 25 de Dezembro de 2013
25-12-2013
86.400,99 €

en-US
Wednesday, December 25, 2013
12/25/2013
$86,400.99

en-GB
25 December 2013
25/12/2013
£86,400.99

fr-FR
mercredi 25 décembre 2013
25/12/2013
86 400,99 €

de-DE
Mittwoch, 25. Dezember 2013
25.12.2013
86.400,99 €

es-ES
miércoles, 25 de diciembre de 2013
25/12/2013
86.400,99 €

ja-JP
2013年12月25日
2013/12/25
¥86,401

zh-CN
2013年12月25日
2013/12/25
¥86,400.99

ko-KR
2013년 12월 25일 수요일
2013-12-25
₩86,401

en-IN
25 December 2013
25-12-2013
₹ 86,400.99
More...
darren, 2013/12/26 下午 04:04:39
整理一下最近 IE9 (或以下) 的問題,順便補一個 Firefox 的問題
IE一直到 IE10 才比較支援一般正常瀏覽器的功能
IE9 以下常常要做一些特別的處理 稍微整理一下

1. input, textarea 的 "placeholder" 屬性,IE10 以上才支援,建議偵測 IE9 以下版本時,特別跑 js 用 onfocus, onblur    來處理

    function setPlaceholder(e) {
        var placeholder = $(this).attr('placeholder');
        if ($(this).val().length == 0) {
            $(this).css("color", "#b2b2b2").val(placeholder);
        }

        $(this).focus(function (e) {
            if ($(this).val() == placeholder) { $(this).css("color", "#666").val(""); }
        });

        $(this).blur(function (e) {
            if ($(this).val().length == 0) { $(this).css("color", "#b2b2b2").val(placeholder); }
        });
    }

    if (Is_LTE_IE9) {
        $('input[placeholder]').each(setPlaceholder);
        $('textarea[placeholder]').each(setPlaceholder);
    }


2. <input type=file /> 不能用 js 去 click,必須要user真的去點他, js 才抓得到檔案,不然傳到server也是空的
   
3. IE9 的 js console.log 必須在 "偵錯模式" 下才能使用,所以js程式完成後,要記得把 console.log 清掉或是註解掉
   不然一般 IE9 的 User 會跳出 js 的錯誤,然後 js 就停了。(這個問題必須在純IE9的瀏覽器才能發現,IE10模擬IE9也發    現不到)

4. Firefox 問題: 當我們要算div的寬高時,他本身必須 display:block 才能算的出來,不然會是 0,
   但是 Firefox 連隱藏iframe 裡的 html > div 都會回傳 0,必須把 iframe 設為 display:block;visibility:hidden
  才能算出裡面div的寬高
 
More...
darren, 2013/11/15 上午 10:13:29
善用 Request.Cookies.Set After Respnse.Cookies.Add
ASP.NET程式開發時,有時候會寫資料到cookies
這時我們會用 Response.Cookies.Add 寫入
但是大家都會忽略到一種情況,如果後面程式也會使用到該cookies時
Request.Cookies 會抓不到剛設定的cookies
這時就要 Request.Cookies.Set 來設定 Request 值

錯誤示範:
Page_Load --> Response.Cookies.Add a Cookie named "test"
Page_PreRender --> Request.Cookies("test") --> Nothing 

正確示範(同時寫兩行):
Page_Load --> Response.Cookies.Add a Cookie named "test"
              Request.Cookies.Set a Cookie named "test" 
Page_PreRender --> Request.Cookies("test") --> Got it!

 
More...
darren, 2013/11/4 下午 06:37:03
DataTable 的 Rows.Find 效能較佳
因為 SHOPUNT 的線上產品有兩千多筆,然後網站有非常頻繁的查詢
例如檢查產品是否停賣

原本的寫法是用以下方法尋找

DT.Select("Id=" & ProductId) 


後來改寫 DataTable 加上 PrimaryKey

'寫入Cache前先設定好
DT.PrimaryKey = New DataColumn() {obj.Columns("Id")} 
Dim row As DataRow = DT.Rows.Find(ProductId)


共1085筆 找出其中一筆 
Select方法  - 00:00:00.0000559
Rows.Find -   00:00:00.0000064

兩者速度差了約10倍
 
More...
darren, 2013/9/5 上午 11:58:39
IIS 7 & 7.5 的動態壓縮設定
關於IIS 7 (7.5)設定動態壓縮,如何啟用這裡就不用多敘述
只是他如何判別哪些動態內容要壓縮,哪些內容不壓縮呢?
這些設定其實在 applicationHost.config 設定
位置: C:\Windows\System32\inetsrv\Config\applicationHost.config
區段:
        
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
    <staticTypes>
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="application/atom+xml" enabled="true" />
        <add mimeType="application/xaml+xml" enabled="true" />
        <add mimeType="application/json" enabled="true" />
        <add mimeType="*/*" enabled="false" />
    </staticTypes>
    <dynamicTypes>
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="application/json" enabled="true" />
        <add mimeType="*/*" enabled="false" />
    </dynamicTypes>
</httpCompression>

其中,<add mimeType="application/json" enabled="true" /> 是我自己加上的,不是系統預設的
當然,決定哪些靜態檔要壓縮也在 <staticTypes> 這裡設定
IIS 的 mime對應最好也加上 *.json -> application/json
 
More...
darren, 2013/8/8 下午 01:59:01
web.config 幫特定網頁或是目錄設定config
由於遇到信用卡 return 的 Form 中文是用 big5 encode 狀況
而我們網站都是UTF-8, 因此 Request.Form 的中文內容會變成亂碼
因此必須設定網頁的 RequestEncoding 為 big5 
可惜 .NET 2.0 的 @Page 屬性無法設定 RequestEncoding, 只能由 web.config 下手
幸好 web.config 可以設定 locaion 為特定網頁或目錄設定屬性
設定如下(append 在根目錄 configuration 下即可):

  <location path="tch/Shopping/NCCReturn.aspx">
    <system.web>
      <globalization fileEncoding="utf-8" requestEncoding="big5" responseEncoding="utf-8" culture="zh-TW"/>
    </system.web>
  </location>
More...
darren, 2013/8/7 下午 03:21:04
SessionState 效能影響問題
昨天Peter提到同一個 Session 只能一次 Request一個 Page
發現這篇文章有描述 http://blog.darkthread.net/post-2011-08-27-aspx-session-lock.aspx
主要是為了保持Session Data一致性 所以要 Lock Session

所以網頁綁 SessionState 是會影像效能的,尤其使用 StateServer 或 SqlServer 方式影響更大
一般.aspx 預設是有的,所以 aspx 有個 EnableSessionState 可以處理是否綁 SessionState
True: 可 Read, Write
ReadOnly: 可 Read
False: 完全不綁定 Session
如果網頁完全用不到 Session,可以考慮把她關閉,效能會好一點,但要注意相關程式碼、元件是否有用到,不然會有Exception

另外 web handler (.ashx) 預設是不綁 Session 的,對於單純的程式處理(例如 Ajax),建議用.ashx
但是在某些狀況下,.ashx 可能需要用到 Session
這時就要import( or using) Web.SessionState, 然後 Class 實作 IRequiresSessionState Interface
就OK啦
More...
darren, 2013/7/12 上午 10:24:57
Cross site ajax
今天去亞卡讀書會剛好有提到跨站的 ajax
除了JSONP之外,其實W3C也有訂標準
http://www.w3.org/TR/cors/
https://developer.mozilla.org/zh-TW/docs/HTTP/Access_control_CORS
基本精神就是
A網站呼叫B網站
A網站的Request Header要加上 Origin: (這個瀏覽器會自動加上)
B網站Response Header要加上一些 Access-Control-Allow-Origin:
這樣就可以通了 不過Request並不會帶上B網站的cookies
若是希望 Request 時也要送上 cookies 資訊,則http物件要加上 .withCredentials = true
不過 IE7以下確定是不支援這的機制,IE8以上則還要測看看

 
More...
darren, 2013/5/14 下午 11:40:25
Response.Redirect throws an “Thread was being aborted”
當我們用 try catch 去包程式時,要注意不要讓程序結束跳出
這樣會引發 Thread was being aborted 錯誤
例如 try catch 不要做 Respnse.Redirect 動作
請參考此文章
 
More...
darren, 2013/3/15 上午 11:21:31
|< 12345678910 >|
頁數 8 / 10 上一頁 下一頁
~ Uwinfo ~