微软企业库5.0学习笔记(九)ASP.NET WEB应用程序
在ASP.NET Web窗体应用程序中,推荐的方法是将容器存到由Application字典对象提供的全局状态。当需要的时候你可以访问容器,甚至使用HTTP模块自动完成对页面上控件的注入。
通常情况下,你应该使用Application字典对象来存储容器的单个实例。您可能决定创建主要容器的子容器,并将它们存储到每个用户的Session对象中,甚至是每个请求,在这些子容器中注册自定义类型和映射。但是,这可能降低应用的性能,通常应尽可能避免创建额外的容器。
ASP.NET应用程序实例化容器的技术方法及限制:
1基本方法。适合小项目
2依赖注入的推荐方法。能在运行时自动完成对页面控件的注入。
3.限制和替代途径。
基本方法
通过Global.asax文件的Application_Start事件来创建并构建容器。
protected void Application_Start(object sender, EventArgs e)
{
Application.Lock();
try
{
var myContainer = Application["EntLibContainer"] as IUnityContainer;
if (myContainer == null)
{
myContainer = new UnityContainer();
myContainer.AddExtension(new EnterpriseLibraryCoreExtension());
// Add your own custom registrations and mappings here as required
Application["EntLibContainer"] = myContainer;
}
}
finally
{
Application.UnLock();
}
}
依赖注入的推荐方法
虽然上面提供的方法为你访问容器提供了一种途径,但是存在一些限制。这意味着你必须编写代码来处理您需要的类的实例,而且减少了代码的可发现性(discoverability)和可测性。如果你使用Unity容器,那么一个更好的方法就是通过容器的每个请求都使用BuildUp方法来构建依赖。这意味着你只需要关心你的空间和类的应用合适的属性,或着在容器中配置注入注册和映射。在运行时注入需要的企业库对象和你自己的类。
一种方法是创建HTTP模块当一个页面加载的时候自动为所有依赖创建注入。为了做到这一点,你需要一个HTTP模块在页面初始化执行过程中执行代码,以填充依赖。还可以使用Global.asax中的Application_Start方法的来创建和填充容器,类HttpApplicationState的一个扩展方法将容器暴露给应用程序代码.一旦创建了这些,只需要应用配置中的一行可使你应用中的控件和类能够自动依赖注入。
为自动依赖注入准备一个ASP.NET应用
1.在工程中创建一个新的ASP.NE
相关文档:
最近正在学习 ASP.NET(C#) ,感觉认识上去了就不是那么难以理解了。我是ASP 出身,有的时候学ASP.NET 总是混淆的一些地方。呵呵,不过理解上去了就好很多了。我希望好朋友们提提好的建议。帮帮小弟!!!!!!!!!!1 ......
<%
set conn= server.createobject("ADODB.connection")
conn.open "driver={sybase driver 10};"
"srvr=SYBASE;"
"UID=sa;"
"pwd=sybase;"
sql="select no from tab_st ......
Backup.aspx
protected void Button1_Click(object sender, EventArgs e)
{
string path = Server.MapPath("") + @"\Backup";
if (!Directory.Exists(path))
......
1.只要求保留N位不四舍5入
float f = 0.55555f;int i =(int)(f * 100);f = (float)(i*1.0)/100;
2.保留N位,四舍五入 .
decimal d= decimal.Round(decimal.Parse("0.55555"),2);
3.保留N位四舍五入
Math.Round(0.55555,2)
4,保留N位四舍五入
double dbdata = 0.5 ......
//替换所有
Regex reg = new Regex(@"(?is)</?a\b[^>]*>(?:(?!</?a).)*</a>");
string result = reg.Replace(yourStr, "");
//保留www.abc.com链接
Regex reg = new Regex(@"(?is)</?a\b.*?href=(['""]?)(?!(?:http://)?www\.abc\.com)[^'""\s>]+\1[^>]*>(?<text>(?:(?!</?a).) ......