ASP.NET MVC扩展库
很多同学都读过这篇文章吧 ASP.NET MVC中你必须知道的13个扩展点,今天给大家介绍一个ASP.NET MVC的扩展库,主要就是针对这些扩展点进行。这个项目的核心是IOC容器,包括Ninject, StructureMap, Unity ,Windsor和Autofac。如果你和我一样喜欢使用IOC,这个库值得你关注,这些IOC我都用过了,现在比较喜欢使用Autofac。
ASP.NET MVC扩展库的网站地址是http://www.mvcextension.com/,基于Ms-PL协议的开源库,5.11发布了1.0版本,下面介绍一下他的特性:
这个库的核心是IOC,却可以让你的代码和IOC无关,你的代码却可以使用强大的IOC。
多个IOC库的适配器:所有.NET上流行的IOC容器都由适配器。
Bootstrapping:不用在各个项目中写类似的代码了,处理你的Controller/Controller Factory/Model Binders/View Engines/Action Filters/Custom Dependencies的注册。
PerRequestTask:类似于HttpModule处理自定义的业务逻辑,还可以控制执行的顺序。
Model Binder:通过构造函数注入你的Model Binder的自定义的依赖。
Action Filter Fluent Registration:支持构造函数方式注入流贯的注册你的Action Filter。
ModelMetadata Fluent Configuration:支持复合ModelMetadata provider, 默认使用DataAnnotationsModelMetadataProvider,还支持EF Code First 和 Fluent NHibernate.
各种ActionResults:包含通用的ActionResults,其中包括XmlResult,ExtendedJsonResult(支持JsonConverters),Adaptive PRG (PostRedirectGet) results。
各种通用的Route 变量:包括Range, Positive Int/Long, Guid, Enum, RegEx等等
各种其他的实用方法和助手类。
这个库的实际应用的例子可以看这个项目Shrinkr,作者在博客上有几篇文章介绍:
MvcExtensions – Bootstrapping Wednesday, May 12, 2010
Announcing the RTM of MvcExtensions (aka System.Web.Mvc.Extensibility) Tuesday, May 11, 2010
相关文档:
1 获取错误信息并到指定页面不要使用Response.Redirect,而应该使用Server.Transfer
e.g
// in global.asax
protected void Application_Error(Object sender, EventArgs e) {
if (Server.GetLastError() is HttpUnhandledException)
Server.Transfer("MyErrorPage.aspx");
//其余的非HttpUnhandledExceptio ......
最近做保存远程图片时候,就在保存的时候总是出这个错误,网上google了一圈,都是再说权限问题,问题我是用U盘,哪里有什么权限问题。
最后无意中发现了问题所在
保存的时候不能用相对路径,一定要用server.mappath()处理一下保存的路径。。。唉! ......
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:updatepanel ID="UP" runat="server">
<ContentTemplate>
......
如何运用 Form 表单认证
ASP.NET 的安全认证,共有“Windows”“Form”“Passport”“None”四种验证模式。“Windows”与“None”没有起到保护的作用,不推荐使用;“Passport”我又没用过,唉……所以我只好讲讲“Form”认 ......
public static void SetEnterControl(System.Web.UI.Control Ctrl)
{
Page mPage = Ctrl.Page;
string mScript;
mScript = @"<script language=""jav ......