ASP.NET03

ASP.NET简单三层步骤

  1. 建立好相应的文件夹
文件夹 用处
CURD.BLL CURD的业务逻辑层
CURD.DAL CURD的数据访问层
CURD.Model CURD的传输层模型(本次将数据库模型与dto混为一谈)
CURD.UI CURD的网页端

ASP.NET01

输入域名发送过程

  1. 输入域名后,浏览器会先发送给DNS解析得到IP地址
  2. 浏览器封装http报文发送服务器
  3. 服务器根据报文,返回相对应的(静态,动态)网页

静态页面:在服务器就相当于直接读取文件字符串然后返回客户端浏览器;(任何时候访问看到的都是一样的界面。)

多线程01

C#

进程线程应用程序域概念

进程,线程略

应用程序域(AppDomain):它提供安全而通用的处理单元,公共语言运行库可使用它来提供应用程序之间的隔离。您可以在具有同等隔离级别(存在于单独的进程中)的单个进程中运行几个应用程序域,而不会造成进程间调用或进程间切换等方面的额外开销。优势: 在一个应用程序中出现的错误不会影响其他应用程序。能够在不停止整个进程的情况下停止单个应用程序。应用程序域形成了托管代码的隔离、卸载和安全边界。在任意给定时间,每一线程都在一个应用程序域中执行。

细说 ASP.NET Cache 及其高级用法

许多做过程序性能优化的人,或者关注过程程序性能的人,应该都使用过各类缓存技术。 而我今天所说的Cache是专指ASP.NET的Cache,我们可以使用HttpRuntime.Cache访问到的那个Cache,而不是其它的缓存技术。

以前我在【我心目中的Asp.net核心对象】 这篇博客中简单地提过它,今天我打算为它写篇专题博客,专门来谈谈它,因为它实在是太重要了。在这篇博客中, 我不仅要介绍它的一些常见用法,还将介绍它的一些高级用法。 在上篇博客【在.net中读写config文件的各种方法】 的结尾处,我给大家留了一个问题,今天,我将在这篇博客中给出一个我认为较为完美的答案。

本文提到的【延迟操作】方法(如:延迟合并写入数据库)属于我的经验总结,希望大家能喜欢这个思路。

CSharp中的集合接口,类之间的关系

C#

今天看到了一句话
the Where() LINQ extension method is used to filter for a particular set of URLs. Where(), like most LINQ methods, returns an IEnumerable value
让我好奇IEnumerable Icollection Ilist list之间到底是什么关系
顺带IEnumerable可以直接调用ToList变成list

三层02

C#

ado.net使用事务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
string constr = "";
using (SqlConnection con = new SqlConnection(constr))
{
con.Open();
using (SqlTransaction tran = con.BeginTransaction())
{
using (SqlCommand cmd = new SqlCommand("sql", con))
{
cmd.Transaction = tran;
cmd.ExecuteNonQuery();
cmd.CommandText = "sql";
cmd.Parameters.Clear();
cmd.Parameters.AddRange(null);
cmd.ExecuteNonQuery();
}
//tran.Commit();无异常提交
tran.Rollback();//异常回滚
}

}

autofac依赖注入

C#

C# Asp.net autofac依赖注入

service类创建实体,接口,具体实现类

1
2
3
4
5
6
7
8
9
10
11
public class Product
{
public int ProductID { get; set; }

public string Name { get; set; }

public string Description { get; set; }

public decimal Price { get; set; }

}