ASP.NET Core中的依赖注入(1):控制反转(IoC)

发布于:
Microsoft.Net

ASP.NET Core在启动以及后续针对每个请求的处理过程中的各个环节都需要相应的组件提供相应的服务,为了方便对这些组件进行定制,ASP.NET通过定义接口的方式对它们进行了“标准化”,我们将这些标准化的组件称为服务,ASP.NET在内部专门维护了一个DI容器来提供所需的服务。要了解这个DI容器以及现实其中的服务提供机制,我们先得知道什么是DI(Dependence Injection),而一旦我们提到DI,又不得不说IoC(Inverse of Control)。

目录

  • 一、流程控制的反转
  • 二、对流程的定制
  • 三、 IoC模式
      • 模板方法(Template Method)
      • 工厂方法(Factory Method)
      • 抽象工厂(Abstract Factory)

Sqlserver清空数据库中所有表数据

发布于:
Script其他(计算机)
USE [table_name]
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'
EXEC sp_MSForEachTable 'DELETE FROM ?'
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'
EXEC sp_MSFOREACHTABLE 'SELECT * FROM ?'
--自增长的ID重新开始排
DBCC CHECKIDENT ('TableName',RESEED,0)

另有 SqlServer 删除所有表 (结构)

openssl 自签证书 支持泛解析

发布于:
服务器技术

1.使用openssl生成私钥文件server.key,以下的步骤都是使用openssl操作的,需要注意一下系统时间,不要制作出来的证书是过期的。

openssl genrsa -out server.key 2048

2.1修改 openssl.cnf,因为我之前在做这部分的时候,证书需要支持多个域名和修改参数填写的默认值,所以才需要这个步骤,制作单域名证书可以不用修改配置文件。直接去除config 具体参数自己手动填写,有个这个config 直接看方括号里的默认值内容是正确的直接回车就可以
2.2拷贝openssl.cnf到当前目录
按以下修改拷贝过来的配置文件:

umbraco 重建cmsContentXml 表

发布于:
Microsoft.Net

我对umbraco 数据表进行的批量更改,但是需要重新生成cmsContentXml表中的内容,该表用于为前端缓存数据创建umbraco.config文件。在Forum搜索了很久才找到现成的方法,本来有文档的,后来地址变了就找不到了,记录下来,防止下次忘记了。

访问你的网站地址 http://YOURDOMAIN/Umbraco/dialogs/republish.aspx?xml=true 点击republish 就完成了,如此简单。。

How To Reset Main Umbraco 7 Admin Password

发布于:
Microsoft.Net
using Umbraco.Core;
using Umbraco.Core.Events;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Services;
using System;
using System.IO;
using System.Text;
using System.Configuration;
using umbraco.IO;

namespace Tmp.PasswordReset
{
     public class RegisterEvents : ApplicationEventHandler
     {
          protected override void ApplicationStarted(UmbracoApplicationBase 
                    umbracoApplication, ApplicationContext applicationContext)
          {
               UmbracoApplicationBase.ApplicationInit += ResetAdminPassword;
          }

          public void ResetAdminPassword(object sender, EventArgs e)
          {
               var userService = ApplicationContext.Current.Services.UserService;

               var adminUser = userService.GetUserById(0);
               adminUser.Username = adminUser.Email = "hello@umbraco.org";
               adminUser.FailedPasswordAttempts = 0;
               adminUser.IsLockedOut = false;
               adminUser.IsApproved = true;
               userService.SavePassword(adminUser, "123Qwe!");
          }
     }
}

 

Asp.net Core相关教程及开源项目推荐

发布于:
Microsoft.Net

入门

Centos7 防火墙 firewalld 实用操作

发布于:
服务器技术

一.前言

Centos7以上的发行版都试自带了firewalld防火墙的,firewalld去带了iptables防火墙。其原因是iptables的防火墙策略是交由内核层面的netfilter网络过滤器来处理的,而firewalld则是交由内核层面的nftables包过滤框架来处理。 相较于iptables防火墙而言,firewalld支持动态更新技术并加入了区域(zone)的概念。简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。

区域对于 firewalld 来说是一大特色,但是对于我们使用Centos7一般是在服务器上,需要切换zone的需求比较少,所以本文不做介绍了,网上资料也比较多,大家可以去百度找找资料。