两周总结

重点,形成自己的技术积累,然后将关键的东西记下来,技术分享。

关键是要用脑力,不动脑的东西都很不靠谱。

 

1.ActionAuthorize。一般继承之后,实现自定义权限,主要用来控制数据权限。

 

2.Linq To Sql 的 ExecuteQuery() 可以实现存储过程或者自定义查询。

 

3.MVC Area。基本配置步骤:http://www.cnblogs.com/9988/archive/2012/04/25/2469871.html

 

4.log4jNet 。ILog定义了日志的接口,LogManager使用了Object Manager 模式,Appender实现了日志的输出。Layout定义了格式化输出。

 

创建:private static readonly ILog logerror = LogManager.GetLogger("logerror");
private static readonly ILog loginfo = LogManager.GetLogger("loginfo");
配置:log4net.Config.XmlConfigurator.Configure();
调用:logerror.Error("Type=" + type.FullName + "\n" + info, se);
      loginfo.Info("Type=" + type.FullName + "\n" + info);
Eg  :
        public void SendMail(MyMailMessage msg)
        {
            MailMessage message = msg.GetMessage();
            try
            {
                if (this.m_openEmail)
                {
                    m_client.Send(message);
                }
            }
            catch (SmtpException ex)
            {
                LogHelper.Error("发送邮件失败!", ex);
            }
        }
配置文件:
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
<log4net>
    <logger name="logerror">
      <level value="ERROR" />
      <appender-ref ref="ErrorAppender" />
    </logger>
    <logger name="loginfo">
      <level value="INFO" />
      <appender-ref ref="InfoAppender" />
    </logger>
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Logs\\LogError\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="MaxFileSize" value="10240" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.htm&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="&lt;HR COLOR=red&gt;%n异常时间:%d [%t] &lt;BR&gt;%n异常级别:%-5p &#xA;   &lt;BR&gt;%n异 常 类:%c [%c] &lt;BR&gt;%n%m &lt;BR&gt;%n &lt;HR Size=1&gt;" />
      </layout>
    </appender>
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Logs\\LogInfo\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.htm&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="&lt;HR COLOR=blue&gt;%n日志时间:%d [%t] &lt;BR&gt;%n日志级别:%-5p &#xA;   &lt;BR&gt;%n日 志 类:%c [%c] &lt;BR&gt;%n%m &lt;BR&gt;%n &lt;HR Size=1&gt;" />
      </layout>
    </appender>
  </log4net>

 

5.Spring.Net 。http://www.cnblogs.com/GoodHelper/archive/2009/10/25/Spring_NET_IoC.html

 

6.RenderSection

 

@RenderSection在母版页中占个位,然后让使用此母版页的子页自己去呈现他们的Section。
在母版页_Layout.cshtml中定义@RenderSection("Section名")
<body>
    <div id="header">@{Html.RenderAction("Menu", "Global");}</div>
    <div id="sideBar">
      @RenderSection("SubMenu")
    </div>
    <div id="container">@RenderBody()</div>
    <div id="footer">@{Html.RenderAction("Footer", "Global");}</div>
</body>

添加一个About.cshtml,使用_Layout.cshtml做母版页
然后就可以在About.cshtml中定义"SubMenu"要呈现的内容
@{
    ViewBag.Title = "About";
 }

 @section SubMenu{
    Hello This is a section implement in About View.
 }

 

posted @ 2014-03-30 14:30  _DN  阅读(189)  评论(0编辑  收藏  举报