两周总结
重点,形成自己的技术积累,然后将关键的东西记下来,技术分享。
关键是要用脑力,不动脑的东西都很不靠谱。
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".htm"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="<HR COLOR=red>%n异常时间:%d [%t] <BR>%n异常级别:%-5p 
 <BR>%n异 常 类:%c [%c] <BR>%n%m <BR>%n <HR Size=1>" /> </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".htm"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="<HR COLOR=blue>%n日志时间:%d [%t] <BR>%n日志级别:%-5p 
 <BR>%n日 志 类:%c [%c] <BR>%n%m <BR>%n <HR Size=1>" /> </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. }