最新评论
我有我在 2011-12-29 16:58
有用
testzhangsan 2011-08-03 10:27
以前在使用ASP.NET MVC2 的时候有这样的需求,当时还在微软中文论坛中提问了,可没有办法解答。
Shpix 2011-08-02 16:08
@小城岁月
你这里看到的是DynamicModuleUtility.RegisterModule(typeof(CustomModule));行为,我没去反编译,这部分代码可能确实是动态添加到Config,但PreApplicationStartMethod.PreStart()方法不光光是用来注册HttpModel的,他更像Asp.net里面的Global.aspx文件,他是在程序启动后执行一遍,以后就不在执行了,这里两个点,一个是PreApplicationStartMethod方法
一个是DynamicModuleUtility.RegisterModule方法,都是Asp.net4.0新增加的特性
真见 2011-08-02 12:10
[quote]小城岁月:刚看了源码,MVC HttpModule确实是在PreApplicationStartMethod 被注册了public static void RegisterModule(Type moduleType); 但是这个Module订阅HttpApplication管线事件还是在管线初始化的时候发生的。个人理解,微软是想让很事情的优先级高于配置,比如微软的HttpMoudel 优先于web.config中的HttpMoudel 优先加载,这样可以管线事件触发过程,首先执行微软的HttpMoudel[/quote]
我觉得你的理解完全正确。。PreApplicationStartMethod 的代码会自动加入到管道的BeginRequest里面,而且是最前面。
小城岁月 2011-08-02 11:22
不过反编译源码,似乎不是这样,HttpModule并没有注册,只是被动态写入config中,然后排在自定义的HttpModule之前,最终加载还是在HttpAppliction 的intiModule过程才真正加载过来,然后再执行每个Module的Init方法绑定一系的管线事件。
Shpix 2011-08-02 11:19
@小城岁月
RegisterModule(Type moduleType)其实起到是HttpApplication开始时执行这个方法,我只是测试了注册BeginRequest事件,你也可以在这段代码地方
DynamicModuleUtility.RegisterModule(typeof(CustomModule));
写一些Application启动执行的行为,你理解的高于配置文件,这与应用程序加载配置文件低于应用程序启动事件,管道是先注册先执行
小城岁月 2011-08-02 09:30
刚看了源码,MVC HttpModule确实是在PreApplicationStartMethod 被注册了public static void RegisterModule(Type moduleType); 但是这个Module订阅HttpApplication管线事件还是在管线初始化的时候发生的。个人理解,微软是想让很事情的优先级高于配置,比如微软的HttpMoudel 优先于web.config中的HttpMoudel 优先加载,这样可以管线事件触发过程,首先执行微软的HttpMoudel
真见 2011-08-02 09:26
@小城岁月
这个是确定的
实际上PreApplicationStartMethod是可以用2种方式来实现,可以用 System.Web.PreApplicationStartMethod 以及 WebActivator.PreApplicationStartMethod, WebActivator是要用nuget可以下载到。
小城岁月 2011-08-02 09:13
你确定这个动态注册,HttpModule被加载后会自动订阅HttpApplication管线事件吗?
dotNetDR_ 2011-08-01 18:57
Tips:
DynamicModuleUtility类是位于Microsoft.Web.Infrastructure.dll程序集
路径在
C:\Program Files\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\Microsoft.Web.Infrastructure.dll
在此,我记得当初好象听到一个声音~是说微软本身也不太推荐用这个方式去动态注册HttpModule~
春天在哪里 2011-03-29 22:20
[quote]圣殿:
什么是本地化?不太清楚,我感觉你这是在将枚举绑定到DropDownList1,如果是,感觉没这么麻烦
[code=csharp]
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
foreach (string str in Enum.GetNames(typeof(UserTitle)))
{
...[/quote]
比如有 enum PaymentStatus{Paid},对于中国人最好显示“已支付”而不是直接显示Paid!
圣殿 2011-03-29 21:33
什么是本地化?不太清楚,我感觉你这是在将枚举绑定到DropDownList1,如果是,感觉没这么麻烦
[code=csharp]
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
foreach (string str in Enum.GetNames(typeof(UserTitle)))
{
DropDownList1.Items.Add(new ListItem(str, str));
}
}
}
public enum UserTitle
{
Mr,
Miss
}
[/code]
Shpix 2009-04-24 20:31
@Gray Zhang
这个问题还没有遇到过,如果真是这样,可以用一些标准的http头改造
这个问题还没有遇到过,如果真是这样,可以用一些标准的http头改造
yonbin 2009-04-24 18:58
$("#msg").ajaxError(function(event,request, settings){
$(this).append("<li>出错页面:" + settings.url + "</li>");
});
$(this).append("<li>出错页面:" + settings.url + "</li>");
});
Gray Zhang 2009-04-24 18:07
不知道楼主有没有研究过这么个问题,有些防火墙会把不标准的http头过滤掉…
红尘中迷茫 2009-04-24 15:05
楼主看来对jquery有研究,帮我看看这个问题
http://space.cnblogs.com/question/6513/
http://space.cnblogs.com/question/6513/

