Autofac is an addictive Inversion of Control container for .NET Core, ASP.NET Core, .NET 4.5.1+, Universal Windows apps, and more.
- Test142
- Lang129
- Devops124
- Design85
- Note54
- BIZ39
- Windows39
- Data38
- UI37
- C32
- Apache31
- C#26
- Blogs23
- OS22
- Interview21
- Think21
- Awesome19
- Biz19
- Finance18
- Life16
- Team16
- Project15
- Kotlin14
- Doc10
- FLOW8
- Learn6
- Other6
- Work6
- Github6
- Mac5
- Reading5
- Acquire4
- Investment4
- Games3
- ITSM3
- LAW3
- Money3
- Performance3
- SEO3
- Software3
- DevOps3
- JS3
- Crawl2
- File2
- Marketing2
- OpenSource2
- Summary2
- test2
- Java2
- API1
- Backend1
- Baidu1
- Best Practice1
- blogs1
- Blog1
- Books1
- Common1
- Document1
- Google1
- Hack1
- How1
- How To1
- Index1
- Job1
- Manager1
- Market1
- NEW1
- Name1
- Pay1
- reading1
- Study1
- TODO1
- Thinking1
- XML1
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报文段进行确认。