10
2017
09

泛型使用和原理、泛型约束、应用

原理:

泛型是语法糖,在编译时,会为调用者生成各种类型的方法副本.

也就是说, 不用开发者自己写具体方法,是编译器代劳了这一工作,只是节省了开发者的时间


demo代码:

    public class GenericClass
    {
        /// <summary>
        /// 泛型方法,调用时可不传T类型,可以隐式推断类型
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="parameter"></param>
        public static void Show<T>(T parameter)
        {
            Console.WriteLine("value={0},type={1}", parameter, parameter.GetType());
        }
    }


03
2017
09

sql使用临时表和游标更新酒景orgid(mssql)

sql:

-- 临时表
select * into #sysorgtemp from SysOrg(nolock);
select * into #producttemp from (
select ProductId,BdId,p.OrgId productOrgId,u.OrgId userOrgId
from Product(nolock) p
left join SysUser u on p.BdId = u.LoginId
where p.OrgId is null and p.BdId is not null
) temp
where temp.userOrgId is not NULL;
-- 这里,可以加sql把要更新的数据,备份到一张备份表


31
2017
08

[分享]酷Q机器人二次开发(.Net插件)


酷Q原理简介

酷Q插件问题

演示



1、酷Q原理简介


百科

https://baike.baidu.com/item/%E9%85%B7Q%E6%9C%BA%E5%99%A8%E4%BA%BA/4111789?fr=aladdin

27
2017
08

.Net页面格式化显示miniProfiler写在log文件中的日志

线上日志文本内容示例:

{"Id":"ff6cbd5b-d0ee-4edd-8251-5883134bbcbb","Name":"dianping/ExportExcel","Started":"2017-08-24 08:07:34","DurationMilliseconds":988683.0,"MachineName":"NET-MAG1","CustomLinks":null,"Root":{"Id":"6415d1db-d958-47e2-b02a-f7e829c99368","Name":"/ota/dianping/ExportExcel&&traceguid=baacf36b-b386-46d5-a491-f1aa05b2b9be","DurationMilliseconds":988683.0,"StartMilliseconds":0.0

这内容是文本文件无格式的,人眼看起来不容易分析。

27
2017
08

ABP框架UnitOfWork事务使用注意事项

更新接口代码

/// <summary>
/// 更新库存量
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[UnitOfWork(isTransactional: false)]
public SaveStockOutput SaveStock(SaveStockInput input)
{
        using (var unitOfWork = _unitOfWorkManager.Begin())
        {
                ………………………………………………………………………………………………………………………………………………………………
                _preventDuplicationRealtimeRepository.InsertAndGetId(dupModel);//插入防重key
                _itemContractStockRepository.InsertAndGetId(itemContractStock);//插入库存数据
                …………………………………………………………………………………………………………………………………………………………………
                _unitOfWorkManager.Current.SaveChanges();
                unitOfWork.Complete();
        }
        ……………………………………………………………………………………………………………………………………………………………………………
}


25
2017
08

调用钉钉机器人SDK示例

1、安装SDK

     Install-Package DingtalkChatbotSdk

     更多类型的消息发送方式:https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.karFPe&treeId=257&articleId=105735&docType=1

2、Code:

DingDingHelper.cs

25
2017
08

excel文件导出时内容还可以直接用table表示减少文件大小

code:

            var data = GetDataList();
            string fileName = string.Format("export{0}", DateTime.Now.ToString("yyyyMMddHHmmssff"));
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls");
            //Response.Charset = "gb2312";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
            Response.ContentType = "application/ms-excel";


20
2017
08

[转载]加入域后远程桌面连接时无法保存帐户密码登录的问题解决


加入域后,远程桌面连接时,无法用保存的帐户和密码登录远程计算机,提示,您的凭据不工作。系统管理员不允许使用保存的凭据登录远程计算机XX,原因是未完全验证其标识,请输入新凭据。

修改域组策略

打开组策略编辑器,运行:gpedit.msc


计算机配置—>策略-->管理模板—>系统-->凭据分配,在右侧找到“允许分配保存的凭据用于仅NTLM服务器身份验证。

20
2017
08

自己写的jquery简单实用的页面图片点击放大弹出效果

页面代码:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
    <script type="text/javascript" src="http://cdn01.pukuimin.top/Scripts/jquery-1.8.2.min.js"></script>
    <script type="text/javascript">
        function stayCenter_absolute_pkm($imgdiv, $imgobj) {
            ///相对于浏览器的位置(浏览器的高度-本身的高度=层顶部到浏览器最上面的高度)
            var $oldoffset = $imgobj.offset();//图片相对于html body的定位
            var oldoffsetTop = $oldoffset.top - $(window).scrollTop();//相对于浏览器的定位
            var oldoffsetLeft = $oldoffset.left;


13
2017
08

MSBuild命令行编译参考

打开:

MSBuild Command Prompt for vs2015/VS2015 的 MSBuild 命令提示符

命令:
msbuild F:\StockService\src\trunk\YCF.Stock.Task.sln /p:OutDir=D:\jenkins;Configuration=Release;DebugType=none;AllowUntrustedCertificate=True;VisualStudioVersion=14.0