日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

以服务的方式提供站点基础功能支持

發布時間:2025/7/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 以服务的方式提供站点基础功能支持 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Web站點除了提供內容展示,業務邏輯處理外,還有很多看不到的操作,如:錯誤日志,后臺管理,權限分配,訪問統計等。如果只有一個站點,完全可以根據需要逐步添加,但實際的情況是往往有多個子站點,這時這些重復的功能就可以以服務的方式提供了。

舉個例子,我們需要統計執行慢的頁面列表,簡單的做法是:
1 在Global.asax 的 BeginRequest, EndRequest事件中記錄執行時間,如果超過某個值,如2秒,就記錄到數據庫。
2 在后臺管理增加 slowpage_list.aspx 頁面用于查看執行慢的頁面列表。

基本實現還是蠻簡單的,如:

[Global.asax]

<%@?Application?Language="C#"?%>
<script?runat="server">
?????
protected?void?Application_BeginRequest(object?sender,?EventArgs?e)?{
????????
//?記錄開始時間
????????this.Context.Items["page_request_starttime"]?=?DateTime.Now;
????}

????
protected?void?Application_EndRequest(object?sender,?EventArgs?e)?{
???????
//?最大用時,單位毫秒,根據需要指定多慢的頁面需要記錄
????????const?int?maxTimeUse?=?2000;
????????
string?url?=?HttpContext.Current.Request.Url.ToString();

????????
//?頁面處理用時
????????int?timeUse?=?(int)(DateTime.Now?-?(DateTime)this.Context.Items["page_request_starttime"]).TotalMilliseconds;

????????
//?如果執行時間超過最大用時
????????if?(timeUse?>?maxTimeUse)?{
????????????
//?記錄執行慢的頁面
????????????AddSlowPage(url,?timeUse);
????????}
????}
</script>
以及:
[slowpage_list.aspx]

代碼略 ......

這樣做的缺點是,各個站點只能以拷貝的方式重用slow_page_list.aspx,以及還要重復數據庫建表等。

改進的做法是:
增加一個 service.yousite.com 公用服務站點,各個子站點有執行慢的頁面時,往這個公用服務站點提交。

if?(timeUse?>?maxTimeUse)?{
???
//?當前站點標識
????string?site?=?"site001";
????
string?address?=?string.Format("http://service.yousite.com/add_slowpage.ashx?site={0}&timeUse={1}&url={2}",
????????????????????????????????????site,?timeUse,?url);
????
????
//?指定超時時間,并用異步方式提交執行慢的頁面地址
????System.Net.HttpWebRequest?client?=?System.Net.WebRequest.Create(address)?as?System.Net.HttpWebRequest;
????client.Timeout?
=?2000;
????client.ReadWriteTimeout?
=?2000;
????client.BeginGetResponse(
null,?null);
}

然后在 service 站點,提供查看的頁面,根據site參數來查看指定站點的slow page。
http://service.yousite.com/slowpage_list.aspx?site=site001

同時這個頁面可以很方便的以iframe的方式嵌入到各個子站點的后臺。

就像開發時,要DRY(Don't Repeat Yourself)避免重復代碼一樣,在規劃站點時,也要避免重復的基礎功能建設,這樣的好處不光是減少工作量,也能夠更好的保證整體站點的一致與穩定。

轉載于:https://www.cnblogs.com/jiyang/archive/2011/05/12/2044304.html

總結

以上是生活随笔為你收集整理的以服务的方式提供站点基础功能支持的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。