两周总结

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

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

 

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.

 }

 

你可能感兴趣的:(总结)