zoukankan      html  css  js  c++  java
  • 学习微软企业库存心得--总结

    1:asp.net页面可以继承基类,可以把页面里中的页面加载事件与报错,日志等事件都写进基类,方便每个页面的登陆与共同的方法处理。

     例如基类:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Diagnostics;
    
    using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;
    using Microsoft.Practices.EnterpriseLibrary.ExceptionHandling;
    using Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration;
    using Microsoft.Practices.EnterpriseLibrary.Logging;
    
    namespace EntLibStudy.Helper
    {
        public class BasePage : System.Web.UI.Page
        {
            private bool _isLogin;
    
            public bool IsLogin
            {
                get
                {
                    return _isLogin;
                }
                private set
                {
                    _isLogin = value;
                }
            }
    
            private string _userName;
    
            public string UserName
            {
                get
                {
                    return _userName;
                }
                private set
                {
                    _userName = value;
                }
            }
    
            private bool _isAdmin;
    
            public bool IsAdmin
            {
                get
                {
                    return _isAdmin;
                }
                private set
                {
                    _isAdmin = value;
                }
            }
    
            protected void Page_Load(object sender, EventArgs e)
            {
                this.UserName = Utils.GetCookies("uid");
                var a = Utils.GetCookies("sid");
                if (string.IsNullOrEmpty(this.UserName) == false)
                {
                    this.IsLogin = true;
                    this.IsAdmin = Utils.GetCookies("isadmin") == "1" ? true : false;
                }
                ShowPage();
            }
    
    
            protected void Page_Error(object sender, EventArgs e)
            {
                var ex = Server.GetLastError();
    
                HandleException(ex, "ExceptionPolicy");
                Server.ClearError();
            }
            protected void HandleException(Exception ex, string policy)
            {
                bool rethrow = false;
                var exManager = EnterpriseLibraryContainer.Current.GetInstance<ExceptionManager>();
                rethrow = exManager.HandleException(ex, policy);
                if (rethrow)
                {
                    this.RedirectPermanent("~/error.aspx");
                }
            }
    
            /// <summary>
            /// 展示子页面,可被子页面重写
            /// </summary>
            protected virtual void ShowPage()
            {
                //TODO 具体的业务逻辑
            }
    
            /// <summary>
            /// 永久重定向
            /// </summary>
            /// <param name="url"></param>
            protected void RedirectPermanent(string url)
            {
                Response.RedirectPermanent(url);
            }
        }
    }
    基类代码

    子页面的代码引用

    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace EntLibStudy.WEB
    {
        public partial class _Default : Helper.BasePage
        {
            protected override void ShowPage()
            {
                base.ShowPage();
            }
    
        }
    }
    子页面代码
    2:winfrom的窗体可以继承winfrom窗体,把共同的窗体所使用的相同的界面做一个可以继承的父窗体。
    
     例如:
    
     ChangePwd 与Form1,NewUser,ResetPwd都继承UserDialogBase
    
    
    
    例如打开一个Newuser窗体时,
    
    UserDialogBase f = new NewUser();
    f.ShowDialog();
    2:winfrom的窗体可以继承winfrom窗体
     

      

     加密主要代码:

    Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.dll
    
         然后再需要的地方加入
    
         using Microsoft.Practices.EnterpriseLibrary.Security.Cryptography;
    
     
    
         下面是主要的加密解密代码
    
         //加密
    
         string Encrypt = Cryptographer.EncryptSymmetric("RC2CryptoServiceProvider", str);
    
         //解密
    
         string Encrypt = Cryptographer.DecryptSymmetric("RC2CryptoServiceProvider", str);
    学习地址:http://blog.sina.com.cn/s/blog_94b91f620100xnpv.html
  • 相关阅读:
    C#的日期格式化输出
    c#使用wmi
    dll注入
    VBScript函数
    时间间隔取法
    抗衰老药物中国传统的食品
    Net资源泄露
    c# 内存共享、内存映射文件
    使用VS2005的 ClickOnce 技术实现按需下载组件
    .NET验证码页出错
  • 原文地址:https://www.cnblogs.com/xiaofengfeng/p/3148206.html
Copyright © 2011-2022 走看看