亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

asp.net網站優化經驗之談

2019-11-14 14:31:30
字體:
來源:轉載
供稿:網友

最近公司一個項目上線后,經常崩潰,于是開始重視性能問題,在網上看到了許多相關文章,整理下發了上來。以備參考。

 

在用asp.net開發網站的時候,性能是永遠需要考慮和關注的問題,性能不僅僅只是程序代碼執行時候的速度,而是涉及到方方面面的東西。 

就拿ASP.NET的一個請求來講,從瀏覽器向服務器的ASP.NET網站發送請求開始一直到最后整個頁面呈現在我們面前,其中請求經過的每一個步驟,都是有不同的調優方式的,而且調用的方法也很多,不僅僅只是常見的:緩存,多線程,異步等。 

本系列的文章決定從兩個大的方面來講述調優: 

前臺調優:主要包含如何盡量的減少http請求,從http請求開始,到如何加載js, CSS,如何壓縮傳輸的數據等。 

后臺調優:分析ASP.NET請求的處理過程,并在每一步給出相應的調優方法,而且在代碼組織,架構和數據庫的操作上面給出調優的方法。 

記得在剛剛開發網站的時候,一提到提高性能,最容易也是最快想到的就是緩存,而且在微軟官方的Best PRactice的一些文檔中也是建議:層層緩存(在數據存儲層,DAL,BLL,UI等都要緩存)。然后在網站中就”緩存遍地開花”,最后的確實不盡人意。 

另外的一個常見的優化針對數據庫的:如盡量減少子查詢,使用join聯接;在常常需要查詢的字段上面建立索引。確實,這些是很通用,也不錯的一些規則。 

而且還有一個體會就是,在優化性能的時候,如果選擇優化代碼和數據庫,往往優化數據庫的一些操作帶來的效果會更加的好,很可惜的是:在項目中(至少在我開發的一些項目中),數據庫僅僅就只是一個數據的存儲設備而已,僅此而已,沒有發揮出數據庫的強大作用。所以還是建議對數據庫的內部查詢和存儲的機制要熟悉,畢竟很多時候開發人員也擔任了DBA的工作(很多公司沒有正式的DBA)。 

而且在項目中我們設計數據庫的時候,特別是表字段的時候,是需要有些考慮的,很多人建議表字段的長度不要太長,這也是大家常見的建議,但是為什么?其實,這就需要懂得一些數據庫的內部存儲機制了:在數據庫(SQL SERVER )保存的時候,數據是以”頁”為最小的單位的,每一頁有8K的大小,如果你的一個表中的數據超過8K,那么這個表的數據就要分幾個頁面保存,這樣在對數據進行查詢的時候,就要跨頁查詢了,跨頁是需要性能消耗的,如果數據都在一個頁面上,那么速度肯定快些。 

所以,要優化網站,就得知道性能消耗在哪里。 

當優化的一個網站的時候,不是盲目的一概而論的,一般來說有兩種情況: 

1、網站已經存在了,并且運行了,現在要優化。 

2、正在從頭開發一個新的網站。 

如果是第一種情況,那么首先要找出網站性能的瓶頸,從前臺的請求的到后臺的請求處理,一直到最后頁面的呈現,都要一步步的審查。 

如果是第二種情況,可能情況就稍微好一點,并且網站現在完全由我們控制,所有在開發和設計的過程中就可以采用很多的優化原則來優化。 

優化不一定就是代碼重寫或者做些很大的改動,優化時一點點的累積的,就好比代碼的重構一樣,都是一個積累的效果。比如,是在頁面一開始的時候載入js腳本,還是在整個頁面的最后載入js腳本,有時候往往就只是簡單的調整一下載入的文件,或者異步的載入腳本,或者通過CDN傳輸腳本等等方法,性能就提升了。性能的提升也不是沒有代價的,有的代價很小,例如只是把腳本的載入放在頁面最后,大的代價就是,例如買些服務器設備,如Content Delivery Network(CDN)來把靜態的文件(js,css,image)傳送到客戶端。所以說,優化需要權衡策略。 

以下是一些javascript與c#交互的常見問題及解決方案

1.如何在Javascript訪問C#函數?

  2.如何在Javascript訪問C#變量?

  3.如何在C#中訪問JavaScript的已有變量?

  4.如何在C#中訪問JavaScript函數?

  問題1答案如下:

  javaScript函數中執行C#代碼中的函數:

  方法一:1、首先建立一個按鈕,在后臺將調用或處理的內容寫入button_click中;

  2、在前臺寫一個js函數,內容為

document.getElementById("btn1").click(); 

 3、在前臺或后臺調用js函數,激發click事件,等于訪問后臺c#函數;

  方法二:1、函數聲明為public

  后臺代碼(把public改成PRotected也可以)

1 public string ss() 2   { 3     return("a"); 4   }

2、在html里用可以調用

  前臺腳本

復制代碼
1 <script language=javascript> 2 3   var a = "<%=ss()%>"; 4 5   alert(a); 6 7 </script>
復制代碼

 方法三:1、

復制代碼
 1 <script language="javascript">  2  3   <!--  4  5   function __doPostBack(eventTarget, eventArgument)  6  7   {  8  9     var theForm = document.Form1; //指runat=server的form 10 11     theForm.__EVENTTARGET.value = eventTarget; 12 13     theFrom.__EVENTARGUMENT.value = eventArgument; 14 15     theForm.submit(); 16 17   } 18 19   --> 20 21   </script> 22 23   <input id="Button1" type="button" name="Button1" value="按鈕" onclick="javascript:__doPostBack('Button1','')">
復制代碼

  方法四:

復制代碼
 1 <script language="javascript">  2  3   function SubmitKeyClick()  4  5   {  6  7     if (event.keyCode == 13)  8  9     { 10 11       event.cancelBubble = true; 12 13       event.returnValue = false; 14 15       document.all.FunName.value="你要調用的函數名"; 16 17       document.form[0].submit(); 18 19     } 20 21   } 22 23   </script> 24 25   <INPUT onkeypress="SubmitKeyClick()" id="aaa" type="text"> 26 27   <input type="hidden" name="FunName"> 〈!--用來存儲你要調用的函數 --〉
復制代碼

在.CS里有:

復制代碼
public Page_OnLoad()   {     if (!Page.IsPost())     {       string strFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";       //根據傳回來的值決定調用哪個函數       switch(strFunName)       {         case "enter()":         enter() ; //調用該函數         break;         case "其他":         //調用其他函數         break;         default:         //調用默認函數 http://www.49028c.com/sosoft/        break;       }     }   }   public void enter()   {     //……比如計算某值   }
復制代碼

問題2.如何在JavaScript訪問C#變量?

  答案如下:

  方法一:1、通過頁面上隱藏域訪問

<input id="xx" type="hidden" runat="server"> 

方法二:1、如后臺定義了PUBLIC STRING N; 前臺js中引用該變量的格式為''或"++"

  方法三:1、或者你可以在服務器端變量賦值后在頁面注冊一段腳本

"<script language='javascript'>var temp=" + tmp + "</script>"

  tmp是后臺變量,然后js中可以直接訪問temp獲得值。

  問題3.如何在C#中訪問JavaScript的已有變量?

  答案如下:

  方法一:1、前臺使用靜態文本控件隱藏域,將js變量值寫入其中;2、后臺用request["id"]來獲取值;

  方法二:可以用cookie或session

  問題4.如何在C#中訪問JavaScript函數?

  答案如下:

  c#代碼中執行javaScript函數:

  方法一:1、

Page.RegisterStartupScript("ggg"," ");

方法二:使用Literal類,然后

復制代碼
1 private void Button2_Click(object sender, System.EventArgs e) 2   { 3     string str; 4     str=" "; 5     //Literal1.Visible=true; 6     Literal1.Text=str; 7   } 
復制代碼

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av电影在线网| 亚洲一区二区三区成人在线视频精品| 九色精品免费永久在线| 福利视频导航一区| 97色在线视频观看| 国产va免费精品高清在线| 国产成人97精品免费看片| 日韩电影大片中文字幕| 日韩av毛片网| 欧美一级淫片aaaaaaa视频| 久久久女女女女999久久| 亚洲精品98久久久久久中文字幕| 国产亚洲欧美另类中文| 成人免费淫片aa视频免费| 国产精品日韩av| 亚洲精品电影在线| 久久精品久久久久电影| 亚洲国产欧美日韩精品| 国产日韩欧美自拍| 欧美理论电影在线观看| 免费97视频在线精品国自产拍| 亚洲欧美国产va在线影院| 国模精品系列视频| 亚洲欧美日韩网| 这里只有精品在线播放| 亚洲人成伊人成综合网久久久| 日本精品久久久久影院| 日韩精品免费视频| 国产日韩中文在线| 欧美孕妇毛茸茸xxxx| 久久综合电影一区| 国产精品久久久久久久7电影| 国自产精品手机在线观看视频| 亚洲国产精品国自产拍av秋霞| 国内精品免费午夜毛片| 精品久久久久久中文字幕一区奶水| 久久久久久噜噜噜久久久精品| 欧美国产日本高清在线| 一个人www欧美| 国产精品第一视频| 性色av一区二区三区免费| 日韩欧美国产成人| 91久久久亚洲精品| 日韩精品久久久久久久玫瑰园| 国产精品久久久久久久久久东京| 亚洲综合成人婷婷小说| 精品色蜜蜜精品视频在线观看| 久久久欧美一区二区| 精品久久久久久久久中文字幕| 欧美精品一区在线播放| 国产精品av网站| 精品久久久久久国产91| 一区二区三区精品99久久| 精品美女久久久久久免费| 国产999视频| 日韩精品视频免费在线观看| 日韩欧美在线中文字幕| 亚洲国产欧美一区二区三区同亚洲| 午夜精品一区二区三区av| 日韩精品欧美国产精品忘忧草| 色午夜这里只有精品| 国产亚洲欧美视频| yw.139尤物在线精品视频| 日产精品久久久一区二区福利| 成人福利网站在线观看| 欧美日韩国产成人在线观看| 成人久久久久久久| 日韩欧美在线第一页| 在线播放国产一区中文字幕剧情欧美| 色综合91久久精品中文字幕| 亚洲一区二区久久久久久| 懂色av影视一区二区三区| 91精品国产91久久久久久吃药| 91在线免费观看网站| 国产成一区二区| 国产精品免费视频xxxx| www亚洲精品| 国产91在线播放| xxav国产精品美女主播| 国产亚洲欧洲黄色| 亚洲最大在线视频| 国产亚洲视频中文字幕视频| 亚洲综合第一页| 国产69久久精品成人看| 最近2019中文字幕mv免费看| 国产精品第一区| 日韩欧美高清在线视频| 国产精品成人一区| 色婷婷亚洲mv天堂mv在影片| 超薄丝袜一区二区| 亚洲自拍偷拍色片视频| 欧美激情性做爰免费视频| 欧美日韩中文在线观看| 亚洲最大的网站| 国产成人a亚洲精品| 欧洲永久精品大片ww免费漫画| 午夜精品一区二区三区在线视| 狠狠色香婷婷久久亚洲精品| 美女av一区二区三区| 国产精品欧美久久久| 91色精品视频在线| 日韩精品一区二区三区第95| 中文字幕欧美国内| 精品久久久久久电影| 亚洲精品一区二区三区不| 日本aⅴ大伊香蕉精品视频| 成人午夜在线影院| 91久久综合亚洲鲁鲁五月天| 青青草原一区二区| 亚洲加勒比久久88色综合| 少妇久久久久久| 91视频8mav| 精品国产福利视频| 欧美日韩在线看| 中文字幕v亚洲ⅴv天堂| 久久久久这里只有精品| 国模极品一区二区三区| 亚洲精品v天堂中文字幕| 中文字幕亚洲欧美一区二区三区| 精品爽片免费看久久| 欧美大尺度电影在线观看| 欧美激情乱人伦一区| 北条麻妃一区二区三区中文字幕| 久久精品成人欧美大片| 中文字幕亚洲一区二区三区| 日韩成人在线播放| 亚洲电影免费观看| 国产极品精品在线观看| 国外成人在线直播| 国产精选久久久久久| 97免费视频在线| 国产日韩精品一区二区| 亚洲精品免费一区二区三区| 欧美成人精品在线| www.亚洲成人| 欧洲中文字幕国产精品| 91精品综合久久久久久五月天| 91av视频在线| 国产va免费精品高清在线观看| 国产成人精品av在线| 国产91精品久| 亚洲偷熟乱区亚洲香蕉av| 亚洲国产精品国自产拍av秋霞| 亚洲性视频网址| 91亚洲永久免费精品| 久久视频免费观看| 国产精品爽爽爽爽爽爽在线观看| 国内揄拍国内精品少妇国语| 乱亲女秽乱长久久久| 一本一本久久a久久精品牛牛影视| 91久久久久久久久久久久久| 影音先锋欧美精品| 欧美老少配视频| 国产日韩欧美日韩大片| 成人激情在线播放| 中文字幕日韩在线播放| 国产成人精品在线视频| 欧美高清性猛交| 毛片精品免费在线观看| 亚洲精品一区av在线播放| 欧美日韩国产成人在线观看| 欧美激情视频在线观看| 国产精品自拍小视频| 清纯唯美亚洲综合|