1、页面引用 基础jquery库jquery.js
2、直接在jquery.pulsate.min.js文件中追加自定义内容,页面引用jquery.pulsate.min.js文件。
后面的三个方法是加的,前面的经过压缩的是插件原来的内容。
后面的三个方法是加的,前面的经过压缩的是插件原来的内容。
一直以为Math.Round就是四舍五入,谁知道没加参数,得到的结果就是有问题
测试代码:
void Main()
{
string.Format("Round {0} = {1}",2.4M,Math.Round(2.4M,0)).Dump();
string.Format("Round {0} = {1}",2.5M,Math.Round(2.5M,0)).Dump();
string.Format("Round {0} = {1}",2.6M,Math.Round(2.6M,0)).Dump();
string.Format("Round {0} = {1}",3.4M,Math.Round(3.4M,0)).Dump();
string.Format("Round {0} = {1}",3.5M,Math.Round(3.5M,0)).Dump();
string.Format("Round {0} = {1}",3.6M,Math.Round(3.6M,0)).Dump();
}输出内容:
我们知道程序中使用异步、多线程会提高程序的响应速度,但也不能无限使用多线程,这在高峰会造成系统cpu上升,系统卡顿,这就需要我们自己来控制开启的线程数,不多说看代码。
private static int threadCountByOrderId = 0;
private static int maxThreadCountByOrderId = 30;
public bool dealorder(int OrderId)
{
var threadNumber = Interlocked.Exchange(ref threadCountByOrderId, threadCountByOrderId);
if (threadCountByOrderId > maxThreadCountByOrderId)
{
return OrderChangePushToBigDataImpService.PushOrderToBigData(OrderId, Logger);
}
else
{
Task.Factory.StartNew(() =>
{
Interlocked.Increment(ref threadCountByOrderId);
try
{
using (var context = MefInjectionProvider.CreateContext())
{
var NewOrderChangePushToBigDataImpService = context.Value.GetExport<IOrderChangePushToBigDataImpService>();
NewOrderChangePushToBigDataImpService.PushOrderToBigData(OrderId, Logger);
}
}
finally
{
Interlocked.Decrement(ref threadCountByOrderId);
}
});
return true;
}
}这样就能控制线程数据了
在.Net框架搭建讲解中,提到了代码自动生成来减少开发人员人工作量,比如数据库对应的Model、最基层的Repository类和接口等等,除了类名不一样,其他都一样,没必要再手写一遍。
我在这里,介绍使用CodeSmith模版生成Model类,其他的都一样,拿到表名和各字段名、字段类型等等,想怎么生成就能怎么生成。
首先,在硬盘中,建立一个文件夹,用来放模版文件,比如:
F:pukuiminInjectExampleExampleCodeSmithTemplate
UnitOfWorkContextBase.cs
EFRepositoryBase.cs
依赖注入对于开发人员来说,方便的就是不需要去关注具体的实现类,不需要去New实例对象,直接使用接口层就能让程序自动注入使用,当然,还有其他一些特点,比如web http同一个请求中可以设置同一个对象只实例化一次解决多个类中多次实例化对象浪费资源的问题。不多说,百度能得到更多 多的介绍,这边直接开工搭环境。
.Net中的System.Configuration命名空间为我们在web.config或者app.config中自定义配置提供了完美的支持。最近看到一些项目中还在自定义xml文件做程序的配置,所以忍不住写一篇用系统自定义配置的随笔了。
如果你已经对自定义配置了如指掌,请忽略这篇文章。?
言归正传,我们先来看一个最简单的自定义配置
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="simple" type="ConfigExample.Configuration.SimpleSection,ConfigExample"/> </configSections> <simple maxValue="20" minValue="1"></simple> </configuration>
在配置文件中使用自定义配置,需要在configSections中添加一个section元素,并制定此section元素对应的类型和名字。然后再在configuration根节点下面添加此自定义配置,如上例中的simple节点。simple节点只有两个整形数的属性maxValue和minValue。
简单三层框架,是.Net开发中最最基础的框架了,由 数据访问层、逻辑处理层、表示层组成。一般情况下,在项目中数据模型Model层也是单独一层,但是只是单纯的数据模型不算在业务层划分当中。
好了,框架搭建,如果不了解,可能会觉得难以下手,了解之后,自然知道怎么做,只是其中的步骤,比起单纯的功能开发,是要繁琐不少,下面我们来一步一步搭建属于自己的框架,这里只列出重要步骤,其他未提到的细节可自行摸索。
大部分功能逻辑都在,少量自定义异常类和扩展方法 ,可用类似代码自己替换
//EpPlus读取生成Excel帮助类+读取csv帮助类,epplus只支持开放的Excel文件格式:xlsx,不支持 xls格式
Powered By Z-BlogPHP 1.7.5
Copyright 2024-2029 pukuimin Rights Reserved.
粤ICP备17100155号-1