.NET

.NET Blog

Application Models

  • Web
  • Mobile
  • Desktop
  • Microservices
  • Gaming
  • Machine Learning
  • Cloud
  • Internet of Things
Language Version
C#
Visual Basic
F# 4.7
Platform Version Feature
.NET Core 3.0 (runs anywhere!) Windows, Linux, and macOS
.NET Framework 4.8 websites, services, and apps on Windows
Xamarin/Mono a .NET for mobile
.NET Standard The one platform, the shared set of libraries for the above

Library

  • Nuget

Tools

  • Visual Studio Marketplace

Learn More

Training Progress
.NET Core 101 (Youtube) 3/8

Resources



.NET - 3rd Party Resources

.NET Unit Testing Frameworks

  • MsTest
  • xUnit
  • NUnit

MsTest, NUnit, xUnit are test framework, MsTest is what we using right now, but seems xUnit is more clear and lean.

.NET Mock/Fake Frameworks

Code Refactoring

Source Making

  • Design patterns

    • Creational patterns
    • Structural patterns
    • Behavioral patterns
  • AntiPatterns
    • Software Development AntiPatterns
    • Software Architecture AntiPatterns
    • Project Management AntiPatterns
  • Refactoring
    • Code Smells
    • Refactoring techniques
  • UML
    • Introduction
    • Introduction to the Case Study
    • Modeling Business Systems
    • Modeling IT Systems
    • Modeling for System Integration

Refactoring.Guru

  • Refactoring
  • Design Patterns

What's .NET Framework

.NET Framework = Java Runtime (Execution Runtime))

C# = Java (Programming Language)

Check Project Source Codes

  1. Get/download source codes from code repository (from VSTS)
  2. Restore Nuget Packages
    1. Right-click solution name
    2. Click 'Restore Nuget Packages'
  3. Rebuild
    1. Right-click solution name
    2. Click 'Clean Solution'
    3. Right-click solution name
    4. Click 'Rebuild Solution'

.NET Framework Versioning

How to: Determine which .NET Framework version project developed on

  1. Right-click project name
  2. Click 'Properties' (or Press Alt+Enter)

How to: Determine which .NET Framework versions are installed on the Machine

C# Versions

C# Version History

  • C# 6.0 - .NET 4.6, VS 2015
  • C# 7.0 - .NET 4.7, VS 2017
  • C# 8.0 - in preview

Application Types

  • Library

    • Class Library
  • Console
    • Console App
  • Desktop
    • Windows Forms App
    • WPF App (Windows Presentation Foundation) - XAML
  • Web
    • ASP.NET Web Site - Script block in web page source
    • ASP.NET Web Forms - .aspx + .cs
    • ASP.NET Web App - .cshtml (Razor) + .cs
      • ASP.NET MVC - for dynamic web pages
      • ASP.NET Web API - for REST API

Console App

Set Console App Project as StartUp Project

  1. Right-click project name
  2. Click 'Set as StartUp Project'
Program Entry
  • File: Program.cs
  • Method:
static void Main(string[] args)
* args: Console command parameters, e.g. myApp param1, param2, ..., paramN
Exception Handling
try{
// logic
}
catch(Exception ex){
// execute when specific exception/error happends
}
Conditional Statements
Log Level
  • Debug
  • Info
  • Warn
  • Error
  • Fatal

API Error Handling

  • HTTP 200 + Succeed Flag = Logical Correct
  • HTTP 200 + Failed Flag = Logical Incorrect
  • HTTP 404/500 (Web Server/Software Error, Authentication Error) = Application Error
  • HTTP 505 (Network Not Found) = Network Error

HTTP Method

  • HTTP GET (URL only)
  • POST (with HTTP body)
  • HEAD
  • OPTION (query description doc)
  • PUT
  • DELETE

HTTP Request/Response Model

  • Request

    • HTTP URL
    • HTTP Headers (including cookies)
    • HTTP Body
  • Response
    • HTTP Headers (including return code)
    • HTTP Body
JSON (JavaScript Object Notation)
  • Serialize: Object(s) -> JSON text/string
  • Deserialize: JSON text/string -> Object(s)
Generic Type
public static FunctionName<T>
Variable Types
  • Reference Type (Class, ref)

    • Pass itself into function, and will be returned back with value changes in function
  • Value Type (Structure, basic types e.g. numbers)
    • Pass its shadow copy and original variable will not be impact
C# Lambda Expressions

C# Lambda Expressions

Enumerable.Aggregate Method

.NET Core Ecosystem的更多相关文章

  1. [翻译]为你的服务器选择正确的.NET

    英文原文 By Daniel Roth ASP.NET 5 is based on the .NET Execution Environment (DNX), which supports runni ...

  2. 魅力 .NET:从 Mono、.NET Core 说起

    前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...

  3. [转]Writing Custom Middleware in ASP.NET Core 1.0

    本文转自:https://www.exceptionnotfound.net/writing-custom-middleware-in-asp-net-core-1-0/ One of the new ...

  4. .NET:从 Mono、.NET Core 说起

    魅力 .NET:从 Mono..NET Core 说起 前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基 ...

  5. NoSQL生态系统(nosql ecosystem)

    Unlike most of the other projects in this book, NoSQL is not a tool, but an ecosystem composed of se ...

  6. Introducing .NET Core

    At connect(), we announced that .NET Core will be entirely released as open source software. I also ...

  7. Spring Framework Ecosystem – Introduction to Spring Projects

    来自于:http://springtutorials.com/spring-ecosystem/ Hello and Welcome to Spring Tutorials Blog! Is it f ...

  8. 一篇很好的解释了.Net Core, .Net Framework, .Net standard library, Xamarin 之间关系的文章 (转载)

    Introducing .NET Standard In my last post, I talked about how we want to make porting to .NET Core e ...

  9. 魅力 .NET:从 Mono、.NET Core[转]

    前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...

随机推荐

  1. .NET WebApi使用Swagger

    1.新建WebApi 项目 2.引用Swagger 包 3.创建项目XML注释文档 在项目App_Start文件夹下的SwaggerConfig.cs类中加入 c.IncludeXmlComments ...

  2. VM虚拟机 Ubuntu配置与ssh连接

    VMware安装ubuntu 自定义 不作更改 选择稍后安装操作系统,相当于裸机,没装系统. 选择ubuntu64 选择虚拟机名字与保存路径 配置情况 2G即可 网络类型,选择NAT 可以了解一下这几 ...

  3. ASP.NET Core 简单集成签发 JWT (JSON Web Tokens)

    什么是 JWT ? 从 https://jwt.io/ 可以了解到对 JWT 的描述:JSON Web Tokens are an open, industry standard RFC 7519 m ...

  4. 配置DHCP Relay的功能原理是什么?

    DHCP中继代理,就是在DHCP服务器和客户端之间转发DHCP数据包.当DHCP客户端与服务器不在同一个子网上,就必须有DHCP中继代理来转发DHCP请求和应答消息.DHCP中继代理的数据转发,与通常 ...

  5. LintCode 练习题

    /** * 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数. 示例 1: 输入: 1->2->3->4->5->NULL, k = 2 输 ...

  6. 微服务8:通信之RPC实践篇(附源码)

    ★微服务系列 微服务1:微服务及其演进史 微服务2:微服务全景架构 微服务3:微服务拆分策略 微服务4:服务注册与发现 微服务5:服务注册与发现(实践篇) 微服务6:通信之网关 微服务7:通信之RPC ...

  7. javaweb项目对https的配置01

    1.准备证书生成 a.进入到jdk下的bin目录(如果配置了Java的环境,可以直接在cmd命令窗口中直接输入如下命令) keytool -v -genkey -alias tomcat -keyal ...

  8. sql注入之简要注入

    #mysql简要注入流程 mysql注入简要流程如下图: 由于还没学习完先结合sqlilabs的第一关讲解信息收集的一部分和数据注入的information_schema的有据查询. #sqli-la ...

  9. linux的一些sao东西

    1.sys命令的目录 /usr/include/asm-generic

  10. java常见字节大小存储问题

    JAVA中默认的编码方式 转:http://blog.csdn.net/scyatcs/article/details/31356823 编码问题存在两个方面:JVM之内和JVM之外.1.Java文件 ...