C# 入门(上)

简介: 本文分三个部分.NET 体系结构根据实际项目理解.NET的分层架构C#的一些用法

一、.NET 体系结构


1、基本概念


1.1、专业名词


.NET Framework:包含CTS(公共类型系统)、CLR(公共语言运行库)

CIL:Common Intermediate Language 通用中间语言

JIT:Just-In-Time 编译器

CLR:Common Language Runtime 公共语言运行库

FLC:.NET Framework Class Library .NET框架类库


1.2、首次编译


image.png

C#程序编译为CIL,存储到程序集中


程序集包括可执行的应用程序文件(exe)和其他应用程序使用的库(dll)。


1.3、二次编译


在执行应用程序时,JIT把CIL编译为本机代码


image.png

程序集经过二次编译为本机代码


1.4、CLR环境运行本机代码


image.png

CLR环境运行本机代码


2、 .NET体系架构


ASP.NET:是一种WEB开发框架技术

.NET:是一个平台

C#:是一个基于.NET的开发语言


image.png

3、C# 三层架构


image.png


二、根据实际项目理解.NET的分层架构


1、工程结构


image.png

1.1、设置启动项目


image.png

1.2、启动项目服务器设置


image.png

1.3、页面请求


ASP.NET中通常将页面和代码分离(前置页面、后置代码),燃气表项目通过上面可以知道,项目启动时会首先加载Default.aspx页面。Default.aspx页面访问时会自动执行后置代码的Page_load方法

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="SunMeter.Web.Main.Default"  EnableSessionState="true"%>

protected void Page_Load(object sender, EventArgs e)
 {
     try
     {
         if (Session["username"] == null || Session["username"].ToString() == "")
         {
             Response.Write("<script  language='javascript' defer>this.parent.parent.location.href='login.aspx';</script>");
                    return;
              ........
         }
    }
}


image.png

aspx文件是前置代码,cs是对应的后置代码,负责处理aspx中<%%>和runat="server"的内容,由CodeBehind属性绑定,Inherits定义aspx页面所要继承的父类的名称,因为aspx会单独生成一个类,不和后台代码重合。


上面代码可以看出,访问Default.aspx时会重定向到login.aspx页面,同样的方式会接着执行login.aspx.cs的Page_Load方法。并生成html返回给客户端,所以服务器对aspx的处理就是渲染html的过程。


image.png

aspx请求过程


相关文章
|
5月前
|
存储 编译器 数据处理
C#基础入门之数据类型
C#基础入门之数据类型
|
11天前
|
开发框架 .NET API
RESTful API 设计与实现:C# 开发者的一分钟入门
【10月更文挑战第5天】本文从零开始,介绍了如何使用 C# 和 ASP.NET Core 设计并实现一个简单的 RESTful API。首先解释了 RESTful API 的概念及其核心原则,然后详细说明了设计 RESTful API 的关键步骤,包括资源识别、URI 设计、HTTP 方法选择、状态码使用和错误处理。最后,通过一个用户管理 API 的示例,演示了如何创建项目、定义模型、实现控制器及运行测试,帮助读者掌握 RESTful API 的开发技巧。
34 7
|
15天前
|
C#
C#入门
C#入门
24 0
|
13天前
|
存储 消息中间件 NoSQL
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
48 8
|
1月前
|
设计模式 C# 开发者
C#设计模式入门实战教程
C#设计模式入门实战教程
|
1月前
|
安全 数据库连接 API
C#一分钟浅谈:多线程编程入门
在现代软件开发中,多线程编程对于提升程序响应性和执行效率至关重要。本文从基础概念入手,详细探讨了C#中的多线程技术,包括线程创建、管理及常见问题的解决策略,如线程安全、死锁和资源泄露等,并通过具体示例帮助读者理解和应用这些技巧,适合初学者快速掌握C#多线程编程。
69 0
|
1月前
|
开发框架 .NET Java
C#/.NET/.NET Core自学入门指南
C#/.NET/.NET Core自学入门指南
|
2月前
|
图形学 C# 开发者
全面掌握Unity游戏开发核心技术:C#脚本编程从入门到精通——详解生命周期方法、事件处理与面向对象设计,助你打造高效稳定的互动娱乐体验
【8月更文挑战第31天】Unity 是一款强大的游戏开发平台,支持多种编程语言,其中 C# 最为常用。本文介绍 C# 在 Unity 中的应用,涵盖脚本生命周期、常用函数、事件处理及面向对象编程等核心概念。通过具体示例,展示如何编写有效的 C# 脚本,包括 Start、Update 和 LateUpdate 等生命周期方法,以及碰撞检测和类继承等高级技巧,帮助开发者掌握 Unity 脚本编程基础,提升游戏开发效率。
60 0
|
2月前
|
开发者 iOS开发 C#
Uno Platform 入门超详细指南:从零开始教你打造兼容 Web、Windows、iOS 和 Android 的跨平台应用,轻松掌握 XAML 与 C# 开发技巧,快速上手示例代码助你迈出第一步
【8月更文挑战第31天】Uno Platform 是一个基于 Microsoft .NET 的开源框架,支持使用 C# 和 XAML 构建跨平台应用,适用于 Web(WebAssembly)、Windows、Linux、macOS、iOS 和 Android。它允许开发者共享几乎全部的业务逻辑和 UI 代码,同时保持原生性能。选择 Uno Platform 可以统一开发体验,减少代码重复,降低开发成本。安装时需先配置好 Visual Studio 或 Visual Studio for Mac,并通过 NuGet 或官网下载工具包。
124 0
|
2月前
|
机器学习/深度学习 数据挖掘 C#
ONNX Runtime入门示例:在C#中使用ResNet50v2进行图像识别
ONNX Runtime入门示例:在C#中使用ResNet50v2进行图像识别
74 0