diff --git "a/\351\203\255\346\242\246\345\252\233/20241117-\351\203\250\347\275\262.md" "b/\351\203\255\346\242\246\345\252\233/20241117-\351\203\250\347\275\262.md" new file mode 100644 index 0000000000000000000000000000000000000000..0b60e936788dcbda17b4ce160e29b34312cd265a --- /dev/null +++ "b/\351\203\255\346\242\246\345\252\233/20241117-\351\203\250\347\275\262.md" @@ -0,0 +1,11 @@ +##### 将一个Asp.Net Core MVC部署分几步 +``` +1、第一步、将程序扔到服务器 +a、打包程序 dotnet publish(打包的程序位于如下文件夹:bin/Release/net8.0/publish) + +b、使用一些工具将打包好的程序传到服务器,比如scp命令 +``` +``` +2、第二步、安装dotnet运行时 +我们在哪里安装sdk或者运行 答案是Debian这个Linux的发行版本 +``` diff --git "a/\351\203\255\346\242\246\345\252\233/20241119-\346\216\247\345\210\266\345\231\250.md" "b/\351\203\255\346\242\246\345\252\233/20241119-\346\216\247\345\210\266\345\231\250.md" new file mode 100644 index 0000000000000000000000000000000000000000..b348d4aeeafe9cc91ba442c40f11bb1fb43aefbd --- /dev/null +++ "b/\351\203\255\346\242\246\345\252\233/20241119-\346\216\247\345\210\266\345\231\250.md" @@ -0,0 +1,10 @@ +``` +using Microsoft.AspNetCore.Mvc +namespace MVC项目名.Controlers; +public class 类名 : Controller +{ + public 返回值 方法名(参数){ + return 值; + } +} +``` \ No newline at end of file diff --git "a/\351\203\255\346\242\246\345\252\233/20241121-\344\274\240\345\217\202.md" "b/\351\203\255\346\242\246\345\252\233/20241121-\344\274\240\345\217\202.md" new file mode 100644 index 0000000000000000000000000000000000000000..0d7747d90b711767e3269491b8c04626561f609c --- /dev/null +++ "b/\351\203\255\346\242\246\345\252\233/20241121-\344\274\240\345\217\202.md" @@ -0,0 +1,58 @@ +### 1. 从路由数据获取参数 + +``` +路由数据通常来自 URL 路径的一部分。 + +[HttpGet("{id}")] +public IActionResult GetById(int id) +{ + // 使用 id 参数 + return Ok($"You requested item with ID: {id}"); +} +``` + +### 2. 从查询字符串获取参数 + +``` +查询字符串参数是从 URL 的 ? 后面的部分获取的 + +[HttpGet] +public IActionResult Search(string query) +{ + // 使用 query 参数 + return Ok($"You searched for: {query}"); +} +``` + +### 3. 从表单数据获取参数 + +``` +表单数据通常通过 POST 请求发送,并包含在请求体中 + +[HttpPost] +public IActionResult SubmitForm(string name, int age) +{ + // 使用 name 和 age 参数 + return Ok($"Name: {name}, Age: {age}"); +} +``` + +### 4. 从请求体获取参数(复杂类型) + +``` +对于复杂的对象类型,ASP.NET Core MVC 会尝试从请求体中反序列化 JSON 或 XML 数据。 + +public class Person +{ + public string Name { get; set; } + public int Age { get; set; } +} + +[HttpPost] +public IActionResult CreatePerson([FromBody] Person person) +{ + // 使用 person 对象 + return Ok($"Created person: {person.Name}, Age: {person.Age}"); +} +``` + diff --git "a/\351\203\255\346\242\246\345\252\233/20241122-\344\275\234\344\270\232.md" "b/\351\203\255\346\242\246\345\252\233/20241122-\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..7062599c0f1dcf6688488d8a3e989e2afce6901f --- /dev/null +++ "b/\351\203\255\346\242\246\345\252\233/20241122-\344\275\234\344\270\232.md" @@ -0,0 +1,285 @@ +#### Linux练习 + +1.任务 + +``` +一、使用SSH客户端、Tabby应用、Xshell和Putty登录服务器 +SSH:注意事项: +1、确保本地计算机和远程服务器都安装了SSH客户端和服务器。 +2、使用SSH登录命令时,格式通常为ssh用户名@服务器地址,然后输入密码进行登录。 +3、注意密码的保密性,避免在公共场合输入密码或在他人面前泄露密码。 +4、确保网络连接的稳定性,以便成功登录并执行远程命令。 +5、定期检查SSH连接的安全性,确保使用了最新的安全协议和加密算法,还需要注意保护私钥文件的安全,避免私钥泄露。 + + +Tabby:注意事项: +1、下载安装Tabby应用,并根据自己的系统选择适合的版本。 +2、打开Tabby应用后,点击右上角的齿轮图标进入设置菜单。 +3、在设置菜单中选择“配置和连接”,然后添加新配置。 +4、选择SSH连接,并输入远程服务器的相关信息,如IP地址、端口、用户名等。 +5、保存配置后,点击运行按钮即可连接远程服务器。 +6、如果是首次连接,可能会要求输入远程服务器的登录密码。 + +Xshell:注意事项: +1、在电脑上安装好Xshell软件。 +2、打开Xshell软件后,点击“新建”按钮或选择“文件”菜单中的“新建会话”选项。 +3、在弹出的“新建连接”窗口中,输入连接名称、服务器IP地址或域名、端口号(默认22)、用户名和密码等信息。 +4、选择合适的认证方法,如密码认证或密钥认证。 +5、配置完成后,点击“确定”按钮即可连接服务器。 +6、如果连接成功,会显示服务器的登录提示信息,要求输入密码进行登录。 + +Putty:注意事项: +1、下载并安装最新版本的Putty软件。 +2、打开Putty软件后,在“Session”配置窗口中输入远程服务器的IP地址或域名、端口号(默认22)以及连接名称。 +3、在“Connection type”中选择“SSH”作为连接方式。 +4、配置完成后,点击“Save”按钮保存配置信息。 +5、点击“Open”按钮即可连接远程服务器。 +6、如果是首次连接,可能会弹出安全警告窗口,点击“是”即可继续连接。 +7、连接成功后,在命令行窗口中输入用户名和密码进行登录。 + +| 工具 | SSH客户端 | Tabby应用 |Xshell | Putty | +| --- | --- | --- | --- | --- | +| 安全性 | 高(支持SSH协议) | 高(支持SSH协议) |高(支持SSH协议) | 高 | +| 界面美观 | 一般(取决于终端模拟器) | 高 |高 | 一般(操作简单直观) | +| 功能丰富性 | 基础功能(命令行操作) | 丰富 |丰富 | 简单(基本操作) | +| 跨平台性 |一般(需安装对应版本的SSH客户端) | 高 |高 | 一般(主要支持Windows) | + + +``` + +{9F903DED-09E5-4708-A9A7-8B37DFB77E5B} + +2。任务更新软件源,命令:apt update,并了解这一步的实际用处和意义 + +{2357C8C6-BE65-4CAE-B36C-21084EC4130E} + +3.更新软件和补丁,命令:apt upgrade -y,并了解这一步的实际用处意义 + +{637371E9-8C45-4955-B0E6-14473E0D2F76} + +4.任务 + +1)查看当前目录下的文件和文件夹 + +{E8FBF79F-191E-4420-838C-7BC0511B7FF3} + +2)查看当前路径 + +{F1568959-2C86-4F2A-A0D5-C95D46418117} + +3)创建一个新的文件夹 + +{81EB6497-78EB-4E92-94F0-3B5E3342F252} + +4).删除一个文件夹 + +{1F0CCC11-2FF3-4B97-871D-D47844B7C927} + +5)移动或重命名文件/文件夹 + +{7E5D6ED6-1E94-4ADF-ABDB-E7D1F26994FD} + +6)复制文件 + +{C58C3DA0-1C93-4100-8C0C-83208A887DDE} + +7)删除文件 + +{2DF1B5C1-5737-4DE4-81AC-A22EF0FAFD40} + +8)查看文件内容 + +{CFD6CB1F-074E-4AB9-9E58-4CD4133F22AF} + +9)分页查看文件内容 + +{7D7671DA-D3F3-4EAA-AC0C-544BB6C34641} + +10)查找文件 + +{D09CFB5E-3589-4776-BDC3-D5F6F74D0777} + +11)查看文件权限 + +{ECD0BA7E-D00D-4739-B0CC-029F7E6E4F0F} + +12)改变文件权限 + +{0CDB95A9-8AA0-458A-9844-CCB7404A8082} + +13)改变文件所有者 + +{FC4152BA-E76F-434C-9B8B-4DF2E40A436E} + +14)查看当前登录用户 + +{77A4F60B-95CD-4189-A030-F895FF425043} + +15)查看系统运行时间和平均负载 + +{8E5A3341-C872-45A1-B16C-60B24FF99E00} + +16).查看磁盘使用情况 + +{2C2A65D8-F8FE-4349-9238-0E506FB44AAE} + +17)查看当前路径下的隐藏文件 + +{401CDF08-ADED-4E79-91E2-B1903FEDC1E8} + +18)创建一个空文件 + +{52DE2C27-9C3F-4D27-9EE0-BB1F1EAC5481} + +19)查看当前系统的内核版本 + +{8F780743-D225-4576-8592-66262535F82D} + +20)查看网络连接状态 + +{67A51C2F-6B20-4A56-9A16-E2201A38D063} + +21)安装一个软件包 + +{6BC6ED01-2F5D-4ACA-8E52-447448D4F6EC} + +22)卸载一个软件包 + +{D247941B-2B47-48F2-B093-4413A1647B5B} + +23)更新软件包列表 + +{C32EE777-E633-4E5F-B23F-C6E9663DF892} + + + +5.在服务器上安装SDK环境 + +![{DF16BBEE-CC4F-4E77-AE6E-C9DA49792B16}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242057541.png) + +6.使用nginx部署10个静态网站,要求不同域名,不同内容 + +![{E48F7F1C-B214-47A7-8D73-324557EBE00A}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242056291.png) + +![{785E859D-BC2A-470D-823D-2CA03628EB7A}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242057586.png) + +![{9CF61AF5-022B-456B-A917-A1D1C2AAA215}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242057362.png) + +![{0966BEB6-88F9-45D9-865F-3210145D7FF7}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242057118.png) + +1![8b7091929d3f6b9d0ec4687d4587a885_](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242057352.png) + +2![f978f3d7e3321e8bf9c97e314aa3a28c_](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242057724.png) + +3![5c745ce2423d684ec13b519f4cc55c09_](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242057820.png) + +4![53ac92de0f7a706b8a7a29388e675e44_](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242057447.png) + +5![image-20241124202333159](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242057033.png) + +6![image-20241124202409168](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242057582.png) + +7![0811a44180675d8aa754be3f30bcec80_](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242057634.png) + +8![1a959e242706863f1a717ee6b3a755d3_](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242057865.png) + +9![eaffa6d8ff13b372cbfa25ac6237dd05_](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242057733.png) + +10![0f00248c21f8a723934f32066dc7d196_](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242058061.png) + +7.使用nginx反向代理,部署简单的MVC项目 + +![20ac6921e315bbd7d7cd0ae5a21cb8d](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242058195.png) + +#### MVC作业 + +1 + +``` +1.新建解决方案 dotnet new sln -n "解决方案名称"(这会生成一个 .sln 文件,用于管理多个项目) +2.创建控制台项目 dotnet new console -n "项目名称" (用于指定项目的名称) +项目名称会与项目文件夹的名称相匹配 +``` + +2 + +``` +dotnet new console -o Blog +``` + +3 + +``` +cd .\Blog\ +``` + +4 + +``` +dotnet new mvc -o Blog +``` + +5 + +``` +cd .\Blog\ +``` + +6 + +``` +dotnet new sln -n Solution +dotnet new mvc -n Project +dotnet sln Solution.sln add Project/Project.csproj +dotnet new classlib -n Library1 +dotnet new classlib -n Library2 +dotnet new classlib -n Library3 +dotnet sln Solution.sln add Library1/Library1.csproj +dotnet sln Solution.sln add Library2/Library2.csproj +dotnet sln Solution.sln add Library3/Library3.csproj +``` + +![{CC10BA01-FA97-483B-B5C4-730436B200C4}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411232233742.png) + +{F0634C94-AA9D-47D4-857F-877DDA5A5F2E} + +7 + +{9D3E0229-2B15-4325-AADC-0BC8ED89B6E4} + +{FDA9E334-9F7C-4090-A130-3670B80277F6} + + + +8 + + + +{4E715006-41FA-4C89-AEC5-A45CD65B44FC} + +{D280ED3E-F553-4B00-864F-1189D74208BF} + +9 + +{0B16E7DF-8CF6-4488-9B26-2B1057C19CDC} + +10 + +{4CB66E57-91F3-413B-B1CA-32ACCBEB685D} + +{455FC519-214A-456A-8B90-CDE2595F0C13} + +11 + +{66482137-51F6-4579-8D85-1D12F90BFAB9} + + + +12 + +{924139FD-9983-46EA-B7B7-8AC6F0890227} + + + + + diff --git "a/\351\203\255\346\242\246\345\252\233/20241122-\350\247\206\345\233\276.md" "b/\351\203\255\346\242\246\345\252\233/20241122-\350\247\206\345\233\276.md" new file mode 100644 index 0000000000000000000000000000000000000000..61d5e31d4e3b5016589a2cf040f35e4a63bf2f59 --- /dev/null +++ "b/\351\203\255\346\242\246\345\252\233/20241122-\350\247\206\345\233\276.md" @@ -0,0 +1,89 @@ +* 控制器返回类型 + * 一般数据类型 直接返回如int、double、string、IEnumerable等数据类型 + * IActionResult类型 一个接口,用于返回HTTP状态,如200、401、404、500等 + * 视图 + * 重定向 + + ``` + 视图(View)是负责渲染 HTML 响应给客户端的组件。视图通常与控制器(Controller)一起工作,控制器处理请求并准备数据,然后选择一个视图来呈现这些数据。视图通常存储在项目的 Views 文件夹中,并按照控制器名称组织在不同的子文件夹里。 + ``` + + #### + + + + + + #### 专项练习-控制器传参 + + 1. + + ![{CE3D978A-8993-470F-A4C4-A592E8C6D14C}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242050642.png) + + 2. + + ![{71D4280D-CC3E-4748-A819-6FD46D3C18F8}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242050940.png) + + 3. + + ![{09BD5331-D43C-4847-91B8-4018B3675C9B}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242050350.png) + + 4. + + ![{F027456C-25FD-4401-B616-91F953BB8874}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242050342.png) + + 5. + + ![{2BF39969-132B-4882-9540-1DC1EBC6B690}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242054728.png) + + 6. + + ![{35C96AA8-24EC-48BA-8424-90CF1679A805}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242051108.png) + + ## 专项练习-基础能力 + + 1. + + ![{22AFE57B-60C0-4788-899E-449C44328EB0}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242054457.png) + + 2. + + ![{80130811-6D6A-4EBB-A5D4-F88BE45E5DDB}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242051031.png) + + 3. + + ![{00EA207F-4426-45B8-BE74-0AA2EC994813}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242053386.png) + + 4. + + ![{1E0AAB2E-10B8-4B37-8258-97FEB38A8E93}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242051058.png) + + 5. + + ![{D8C101DE-DA70-4D0D-A2A4-978EEE590AA8}](C:\Users\86153\AppData\Local\Packages\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\TempState\ScreenClip\{D8C101DE-DA70-4D0D-A2A4-978EEE590AA8}.png) + + 6. + + ![{232377E7-01B9-4AEC-BFDF-8D6D11746DD9}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242051379.png) + + 7. + + ![{A2B196D1-0363-48CE-9A37-6B844BE0CC33}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242051671.png) + + + + #### 专项练习-控制器返回值 + + 1. + + {12CB2801-D56E-453C-9AC5-C90A5FB63F9E} + + + +2 + +![{2128BFFB-BA9A-4B6F-B7C9-77BFB9B0024A}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242051032.png) + +3. + +![image-20241124173251238](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411242051567.png) \ No newline at end of file