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

搜尋意見
文章分類-#Author#
[所有文章分類]
所有文章分類
  • ASP.NET (48)
  • ASP.NET2.0 (15)
  • ASP.NET4.0 (34)
  • JavaScript (49)
  • jQuery (26)
  • FireFox (4)
  • UW系統設定 (3)
  • SQL (40)
  • SQL 2008 (25)
  • mirror (4)
  • SVN (4)
  • IE (9)
  • IIS (21)
  • 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 (2)
  • 開發工具 (6)
  • JSON (1)
  • Excel2007 (1)
  • 試題 (3)
  • LINQ (1)
  • bootstrap (0)
  • Vue (3)
  • IIS7 (3)
  • foodpanda (2)
  • 編碼 (2)
  • 資安 (3)
  • Sourcetree (1)
  • MAUI (1)
  • CMD (1)
  • my sql (1)
  • API串接 (1)
  • EF MODEL (1)
最新回應
  • Newtonsoft.Json.JsonConvert.DeserializeObject 失敗的情況
    test...more
  • dotnet ef dbcontext scaffold
    ...more
  • [ASP.NET] 利用 aspnet_regiis 加密 web.config
    ...more
  • IIS ARR (reverse proxy) 服務安裝
    ...more
  • [錯誤訊息] 請加入 ScriptResourceMapping 命名的 jquery (區分大小寫)
    ...more
  • 用 Javascript 跨網頁讀取 cookie (Cookie cross page, path of cookie)
    ...more
  • 線上客服 - MSN
    本人信箱被盜用以致資料外洩,是否可以請貴平台予以協助刪除該信箱之使用謝謝囉...more
  • 插入文字到游標或選取處
    aaaaa...more
  • IIS 配合 AD (Active Directory) 認証, 使用 .Net 6.0
    太感謝你了~~~你救了我被windows 認證卡了好幾天QQ...more
  • PostgreSQL 的 monitor trigger
    FOR EACH ROW 可能要改為 FOR EACH STATEMENT ...more
標籤
  • FortiGate
  • HTML
  • wsdl
  • https:www.
  • aspnet
  • UNT
  • -5959 UNIO
  • -1542
  • ClientIP
  • -8109
  • en
  • -9006
  • 監控
  • SVN
  • SVG
  • sa
  • ab79gvdD
  • 54
  • entify
  • net
  • post
  • 電子豹
  • 17
  • js UNION A
  • 140,
  • Su
  • machinekey
  • xssscanXU8
  • ie
  • .
  • 5952-5864
  • List ORDER
  • mirro
  • 只取
  • @@GxRnn
  • let
  • 8 order by
  • 104
  • MSDTC
  • dbcontext
  • gui
  • 遠端桌面服務
  • InvalidOpe
  • rydO6e2k
  • 3175
  • PreviewPri
  • @@3fbki
  • ??????????
  • FredCK.FCK
  • vb
頁數 5 / 10 上一頁 下一頁
搜尋 Data 結果:
UW DB物件 GetAllDataFromBaseTableWithCache 會嚴重影響效能
UW -> DB 物件產生器會產生兩個function
GetAllDataFromBaseTableWithCache(string OrderFields = "_Default", bool IsCopy = true )
以及
Get物件名稱FromCachedDT(string Key)
-----------------------------------------------------------
設計上是希望將所有資料Cache在記憶體,然後前端直接抓出資料,不須到資料庫抓資料
理論上網頁速度應該比較佳,實際上卻發現是效能殺手

原因在於 GetAllDataFromBaseTableWithCache 是抓出整個table的資料放到 Cache
然後又做了一件事,當有人要資料時,會把整個 DataTable 做 Copy() 再 return
也就是說,當DataTable有數千筆資料列時
每叫用一次 "Get物件名稱FromCachedDT(string Key)" 就會把數千筆資料整個複製一次
再從複製出來的DataTable Select 出一列 return
------------------------------------------------------------
解決方法:
Get物件名稱FromCachedDT(string Key)  --> 改成一筆一筆資料做 Cache,這樣 Copy() 只會Copy一筆
實測上,原本頁面要跑1.8秒,調整後可以 0.4 秒就完成
-----------------------------------------------------------
結論:
PG產生器就把 GetAllDataFromBaseTableWithCache 拿掉吧
More...
darren, 2018/5/21 下午 03:17:00
SEO 原則
目標收集 SEO 的 10 個最重要的原則. 10 個就好....

1. 每一頁都要有 title, description. 但不可以有 keyword.

2. 使用 URL Rewrite.

3. 產品說明: https://developers.google.com/search/docs/data-types/product

4. 圖片加上 title 和 alt

5. Description 中, 重點關鍵字要出現兩次.

6. 使用 canonical 集合積分統計統果.
More...
Bike, 2018/5/11 下午 12:06:17
LINQ 用變數方式讀取欄位

        public void TEST(SEPM.SEPMDataContext oDC)
        {
            //一般 LINQ 寫法, 欄位只能寫死, 如:
            var Q = query.OrderBy(r => r.statusId).ToList();

            //若 OrderBy 的欄位不是固定的

            //方法一:條列
            var orderBy = "XXX";
            if (orderBy == "ownerId")
            {
                Q = Q.OrderBy(r => r.ownerId).ToList();
            }
            else if (orderBy == "endDate")
            {
                Q = Q.OrderBy(r => r.endDate).ToList();
            }

            //方法二:
            Q = Q.OrderBy(r => GetPropertyValue(r, orderBy)).ToList();
        }

        private object GetPropertyValue(object obj, string property)
        {
            System.Reflection.PropertyInfo propertyInfo = obj.GetType().GetProperty(property);
            return propertyInfo.GetValue(obj, null);
        }



參考:http://coderemind.blogspot.tw/2013/10/linq.html
More...
Reiko, 2018/4/20 上午 09:14:26
比較程式碼 - Record.
程式碼 1:
        foreach (DataRow oRow in DT.Rows)
        {
            var oSP = new DB.StorePointRecord(oRow);
            :
            :
        }


程式碼 2:
        var oSP = new DB.StorePointRecord();
        foreach (DataRow oRow in DT.Rows)
        {
            oSP.row = oRow;
            :
            :
        }
More...
Bike, 2018/4/10 上午 06:45:55
比較程式碼
以前年輕不懂事, 寫了一些很遜的程式碼, 例如:

舊的程式碼:

        public static DataTable DTFromSQL(string Sql, string DBC = null, Int32 timeout = 0)
        {
            SqlDataAdapter DA = new SqlDataAdapter(Sql, GetDBC(DBC));

            DataTable DT = new DataTable();
            try
            {
                DA = new SqlDataAdapter(Sql, DBC);
                if (timeout > 0)
                {
                    DA.SelectCommand.CommandTimeout = timeout;
                }

                DA.Fill(DT);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            finally
            {
                DA.Dispose();
            }

            return DT;
        }


新的程式碼:
        public static DataTable DTFromSQL(string Sql, string DBC = null, Int32 timeout = 30)
        {
            using (var DA = new SqlDataAdapter(Sql, GetDBC(DBC)))
            {
                //不可為 null
                DataTable DT = new DataTable();

                DA.SelectCommand.CommandTimeout = timeout;

                DA.Fill(DT);

                return DT;
            }
        }


可以參考:
https://dotblogs.com.tw/yc421206/archive/2012/01/03/64154.aspx
 
More...
Bike, 2018/4/4 上午 07:56:39
試分析以下兩個 function..
試分析以下兩個 function..

        public static void WriteText1(string FileName, List<string> ltData)
        {
            foreach(string data in ltData)
            {
                System.IO.File.AppendAllText(FileName, data);
            }
        }

        public static void WriteText2(string FileName, List<string> ltData)
        {
            var Res = "";
            foreach (string data in ltData)
            {
                Res += data;
            }

            System.IO.File.WriteAllText(FileName, Res);
        }
More...
Bike, 2018/4/3 上午 09:47:29
ROW_NUMBER 和 Partition (抓出分組中的第一筆資料)
抓出每個 Block_Id 中, End_Date 最小的資料.

語法 A:
With TempBlock as (
Select *, 
ROW_NUMBER() OVER(PARTITION BY B.Block_Id ORDER BY B.End_Date, B.Id) AS rk 
from BlockData B Where IsDelete = 'N' and End_Date >= getDate())
Select * from TempBlock Where rk = 1

語法 B:
Select * from (
Select *, 
ROW_NUMBER() OVER(PARTITION BY B.Block_Id ORDER BY B.End_Date, B.Id) AS rk 
from BlockData B Where IsDelete = 'N' and End_Date >= getDate()) TempBlock 
Where rk = 1
More...
Bike, 2017/12/27 下午 04:25:20
在 SQL 中計算字串長度的 function: Len V.S. DATALENGTH
LEN: 不會計入空白結尾. DATALENGTH: 實際的長度.
More...
Bike, 2017/8/19 上午 09:48:06
DOM 物件隱藏後,用 jquery 的 each function 會永遠抓到第一個物件..
        var TotalOldQty = 0;
        $(".AdjQty_" + yano + "_" + pdno + " [type='text']").each(function () {
            TotalOldQty += parseInt($(this).data("oldqty"));
        });

        $(".AdjQty_" + yano + "_" + pdno).html($(".AdjQty_" + yano + "_" + pdno).html() + "更新中.....");

        $(".AdjQty_" + yano + "_" + pdno + " span").hide();


和 

        $(".AdjQty_" + yano + "_" + pdno).html($(".AdjQty_" + yano + "_" + pdno).html() + "更新中.....");

        $(".AdjQty_" + yano + "_" + pdno + " span").hide();

        var TotalOldQty = 0;
        $(".AdjQty_" + yano + "_" + pdno + " [type='text']").each(function () {
            TotalOldQty += parseInt($(this).data("oldqty"));
        });


出來的 TotalOldQty 會不相同..
More...
Bike, 2017/7/4 下午 03:36:43
jQquery 的 data 會刪除開頭的 0
<a class="del" href="#" data-yano="1250453286" data-pdno="04360003">
    <img src="/TC/template/Shopping/images/del.png" alt="">
</a>


用 $(".del").data("pdno") 會回傳 4360003
被這個搞了好久..

要避免這個問題, 可以使用 attr  來代替 data
$(".del").attr("data-pdno")
More...
Bike, 2017/6/13 下午 09:35:57
|< 12345678910 >|
頁數 5 / 10 上一頁 下一頁
~ Uwinfo ~