2015年4月1日 星期三

Asp.net Mvc Compress Files

1.Self
public class AuthorizeFilterAttribute : ActionFilterAttribute
{
      public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
                HttpRequestBase request = filterContext.HttpContext.Request;
            string acceptEncoding = request.Headers["Accept-Encoding"];
            if (string.IsNullOrEmpty(acceptEncoding)) return;
            acceptEncoding = acceptEncoding.ToUpperInvariant();
            HttpResponseBase response = filterContext.HttpContext.Response;
            if (acceptEncoding.Contains("GZIP"))
            {
                response.AppendHeader("Content-encoding", "gzip");
                response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
            }
         }
}

2. Js,Css In Global.asax.cs

     void Application_PostReleaseRequestState(object sender, EventArgs e)
        {
            Compress_File(sender as HttpApplication);
        } 

        public static void Compress_File(HttpApplication HttpApp)
        {
            string contentType = HttpApp.Response.ContentType;

            if (contentType == "text/css" || contentType == "application/x-javascript" || contentType == "text/javascript")
            {
                HttpApp.Response.Cache.VaryByHeaders["Accept-Encoding"] = true;

                string acceptEncoding = HttpApp.Request.Headers["Accept-Encoding"];

                if (acceptEncoding == null || acceptEncoding.Length == 0) return;

                acceptEncoding = acceptEncoding.ToLower();

                if (acceptEncoding.Contains("gzip"))
                {
                    HttpApp.Response.AppendHeader("Content-encoding", "gzip");
                    HttpApp.Response.Filter = new GZipStream(HttpApp.Response.Filter, CompressionMode.Compress);
                }
                //else if (acceptEncoding.Contains("deflate") || acceptEncoding == "*")
                //{
                //    HttpApp.Response.Filter = new DeflateStream(app.Response.Filter, CompressionMode.Compress);
                //    HttpApp.Response.AppendHeader("Content-Encoding", "deflate");
                //}
            }
        }

2014年5月6日 星期二

JavaScript Browser Heihgt Width

$(document).ready(function () {


                var s = "";

                s += " 網頁可見區域寬:" + document.body.clientWidth;

                s += "<br> 網頁可見區域高:" + document.body.clientHeight;

                s += "<br> 網頁可見區域寬:" + document.body.offsetWidth + " (包括邊線和捲軸的寬)";

                s += "<br> 網頁可見區域高:" + document.body.offsetHeight + " (包括邊線的寬)";

                s += "<br> 網頁正文全文寬:" + document.body.scrollWidth;

                s += "<br> 網頁正文全文高:" + document.body.scrollHeight;

                s += "<br> 網頁被卷去的高(ff):" + document.body.scrollTop;

                s += "<br> 網頁被卷去的高(ie):" + document.documentElement.scrollTop;

                s += "<br> 網頁被卷去的左:" + document.body.scrollLeft;

                s += "<br> 網頁正文部分上:" + window.screenTop;

                s += "<br> 網頁正文部分左:" + window.screenLeft;

                s += "<br> 螢幕解析度的高:" + window.screen.height;

                s += "<br> 螢幕解析度的寬:" + window.screen.width;

                s += "<br> 螢幕可用工作區高度:" + window.screen.availHeight;

                s += "<br> 螢幕可用工作區寬度:" + window.screen.availWidth;

                s += "<br> 你的螢幕設置是 " + window.screen.colorDepth + " 位彩色";

                s += "<br> 你的螢幕設置 " + window.screen.deviceXDPI + " 像素/英寸";

                //alert (s);
                document.getElementById('show').innerHTML = s;

            });

       window.onscroll = J_Modify;
       function J_Modify() {
            var obj = document.getElementById('AB');

            obj.style.top = document.body.scrollTop + 200 + 'px';
            obj.style.left = (document.body.clientWidth - obj.clientWidth) / 2 + 'px';


        }

2013年9月23日 星期一

Oracle-Visual Studio Clinet - Server 配置

如果是採用 WebConfing appSettings 指定連線字串,手動寫連線字串則不用

<add key="xxx" value="Data Source=orcl;User Id=XXX;Password=XXX;Min Pool Size=10;Max Pool Size=10 " />

那麼要在開發平台的目錄裡面

Clinet app\XX\product\11.2.0\client_1\network\admin


tnsnames.ora 設定要設定

orcl =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.33)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )


2013年9月14日 星期六

MS-SQL-SP

SELECT ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%StudentClassView%'

2013年9月9日 星期一

Oracle Exist Insert Update

INSERT INTO table
(col_1,col_2,col_3)
SELECT '11111', '11111','111'
FROM dual
WHERE NOT EXISTS (SELECT *  FROM table
WHERE PJ2701 = '11111')

UPDATE  tableSET
col_3='123'
WHERE EXISTS (SELECT *  FROM table
WHERE col_1= '11111')
AND col_1= '11111'

2013年3月22日 星期五

Oracle PROCEDURE Return DataTable


create or replace
PROCEDURE BI_DataTable(SQLWHERE IN VARCHAR2, DataTable OUT SYS_REFCURSOR) AS

p_sql VARCHAR2(1000) not null := 'SELECT * FROM demobisa001_1 where 1=1 ' || sqlwhere;
BEGIN
execute immediate p_sql ;
OPEN DataTable FOR p_sql;
END BI_DataTable;

2013年1月31日 星期四

'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上。

要裝 Microsoft Access Database Engine 2010 之外

還要注意編譯的 CPU 平台

如果遇到對方 Server (64位元) Access(32位元)

那麼在 IIS 上應用集區的進階設定把允許32位元程式為True

如圖