Autofac is an addictive Inversion of Control container for .NET Core, ASP.NET Core, .NET 4.5.1+, Universal Windows apps, and more.
Castle Core provides common Castle Project abstractions including logging services.
It also features Castle DynamicProxy a lightweight runtime proxy generator, and Castle DictionaryAdapter.
这个框架看起来不错。可以主要学习一下。
Autofac is an addictive Inversion of Control container for .NET Core, ASP.NET Core, .NET 4.5.1+, Universal Windows apps, and more.
nico
- Main()
Console.WriteLine(Environment.CurrentDirectory);
Console.WriteLine(AppDomain.CurrentDomain.BaseDirectory);
Console.WriteLine(System.Threading.Thread.GetDomain().BaseDirectory);
string appPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName);
Console.WriteLine(appPath);
Console.ReadKey();
有时候会遇到使用 c# 代码是调用 bat 文件的需求。此文旨在提供一个简单的示例,以后会陆续补充响应内容。
示例
一、创建一个命令行运行程序 HelloBat
此处没有直接通过命令行打印内容,而是将当前内容添加到指定的文件中。为了调用不启动窗口也可以证明方法确实执行了。
- Main.cs
class Program
{
static void Main(string[] args)
{
var nowStr = DateTime.Now.ToString()+"\n";
string targetFilePath = "E:\\LEARN\\Socket\\HelloBat\\HelloBat\\bin\\Release\\temp.txt";
File.AppendAllText(targetFilePath, nowStr, Encoding.UTF8); // 也可以指定编码方式
}
}
有些东西很有用,但是时间久了就容易忘记。
比如树的遍历,此处写一篇文章,记录多叉树的遍历。并于日后查阅和补充学习。
Tree
一、首先,定义一个树的节点。
- TaskNode.cs
///
/// 树的节点
///
class TaskNode
{
///
/// 存放子节点
///
private List children = new List();
///
/// 节点名称
///
public string Name
{
get;
set;
}
///
/// bat文件路径
///
public string BatPath
{
get;
set;
}
///
/// 子节点
///
public List Children
{
get
{
return this.children;
}
}
#region methods
///
/// 添加节点
///
///
///
public List AddChild(TaskNode childNode)
{
this.children.Add(childNode);
return this.children;
}
#endregion
}
MyBatis 是一个数据映射工具。
它将数据库查询(包括存储过程)的列映射到业务对象的属性。
映射器的定义之一是“在两个独立对象之间建立通信的对象”。
数据映射器是“一个映射层,它在对象和数据库之间移动数据,同时使它们彼此独立,并且独立于映射器本身”。
为什么?
.NET 平台已经提供了一个强大的库来访问数据库,无论是通过 SQL 语句还是存储过程,但在使用 ADO.NET 时,仍有一些事情很难做好,包括:
Quartz.NET is a pure .NET library written in C# and is a port of very popular open source Java job scheduling framework, Quartz.
网络套接字 是计算机网络中用于在单个节点发送或接收数据的内部端点。
TCP
一、 三次握手建立连接
-
请求端(通常称为客户)发送一个SYN段指明客户打算连接的服务器的端口,以及初始序号(ISN)。
-
服务器发回包含服务器的初始序号的SYN报文段作为应答。同时,将确认序号设置为客户的ISN加1以对客户的SYN报文段进行确认。一个SYN将占用一个序号。
-
客户必须将确认序号设置为服务器的ISN加1以对服务器的SYN报文段进行确认。