- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 C# Try Catch Finally 执行顺序是什么?有返回值呢?
在C#中,异常处理的执行顺序遵循以下规则:无论try块中是否发生异常,finally块中的代码都会执行。当try块中有返回值时,执行顺序会稍微复杂一些。首先,return语句会计算返回值并暂存,然后执行finally块,最后返回暂存的值。如果finally块中有return语句,新版本的C#会报编译错误。此外,finally块不能修改值类型的返回值,但可以修改引用类型的返回值内容,最终返回的是修改后的值。总结来说,finally块始终执行,且方法只会处理第一个return语句,后续的return语句会被忽略
2025-05-15 15:03:18
728
原创 .Net HttpClient 管道黑科技,让你的请求效率飞起来!
Pipeline(管道)是HttpClient网络请求的`隐形加速器`。HttpClient 采用了与 ASP.NET Core 管道机制相同的设计,通过组合 `HttpMessageHandler` 和 `中间件模式` 形成请求/响应链来实现。允许你在请求和响应之间插入多个处理步骤,这些步骤可以按顺序执行,类似于管道。
2025-05-15 14:34:19
796
原创 .Net HttpClient 使用 Cookie
本教程详细介绍了如何在 .Net HttpClient 中使用和管理 Cookie。Cookie 是服务器存储在客户端的小型数据片段,常用于身份验证、会话跟踪等。教程分为手动管理和自动管理两种方式。手动管理通过设置 HttpClient 的默认请求头或每次请求的 HttpRequestMessage 来添加 Cookie,适用于简单场景。自动管理则通过 HttpClientHandler 和 CookieContainer 实现,能够自动处理 Cookie 的生命周期和持久化。此外,教程还展示了如何将 Co
2025-05-15 00:57:20
1375
原创 .Net HttpClient 使用代理功能
本文详细介绍了如何在 .NET 中使用 HttpClient 配置代理功能。首先,通过开启 Fiddler Classic 及其代理功能作为代理服务器,接着展示了如何通过 SocketsHttpHandler 设置代理,包括无用户名密码和带用户名密码的代理配置。此外,提供了在 IoC 和工厂中使用代理的推荐方式,并介绍了如何通过中间件动态切换代理服务器。通过这些方法,开发者可以灵活地实现代理功能,满足不同场景下的需求。
2025-05-14 13:29:07
1362
原创 .Net HttpClient 使用Json数据
本文介绍了在 .Net 中使用 HttpClient 处理 JSON 数据的方法。JSON 是现代 Web 开发中最常用的数据交换格式,HttpClient 提供了强大的支持,包括序列化和反序列化功能。文章详细讲解了如何手动管理 JSON 数据,使用 System.Net.Http.Json 或 Newtonsoft.Json 类库进行序列化和反序列化操作,并展示了如何在请求和响应中使用 JSON 数据。此外,还介绍了如何使用 .Net 框架提供的类库简化 JSON 数据处理,推荐使用框架类库以提高效率和减
2025-05-13 19:10:01
1639
原创 .Net HttpClient 处理错误与异常
本文介绍了在C#中使用HttpClient处理错误与异常的多种方法。首先,直接实例化HttpClient时,可以通过Try Catch或EnsureSuccessStatusCode方法进行简单处理,但这种方式不推荐。其次,在静态类或工具类中,可以在内部方法中使用Try Catch进行异常处理,但更推荐使用Pipeline管道方式。类型化客户端中,异常处理可以通过类内部处理、Pipeline管道或结合IoC/工厂和Polly库进行统一处理,推荐后两种方式。最后,无论哪种方式创建的客户端,都可以通过配置Pip
2025-05-13 12:39:51
1377
原创 SQL:连续登陆N天问题的通用解答
本文介绍了解决“连续登陆N天”问题的两种通用方案。首先,问题描述涉及用户登陆记录表,要求查询最近一个月内连续登陆超过5天的用户。方案一使用ROW_NUMBER()窗口函数,通过数据去重、排名、判断连续性和分组聚合等步骤实现查询。方案二则使用LEAD()窗口函数,思路与方案一类似,但通过比较当前行与下一行来判断连续性。两种方案均能有效解决连续登陆问题,具体选择取决于实际需求和性能考虑。
2025-05-12 09:53:55
859
原创 .Net HttpClient 处理响应数据
本文介绍了如何使用 HttpClient 处理响应数据,涵盖了初始化、响应状态处理及异常处理。首先,HttpClient 需进行初始化及全局设置。接着,通过判断响应码和调用 EnsureSuccessStatusCode 方法,确保请求的响应状态正常。对于异常响应,文章提供了多种处理方式:使用 try-catch 捕获常规异常;通过自定义 DelegatingHandler 实现管道统一处理异常;以及使用类型化客户端结合 AOP 进行统一拦截处理。这些方法能够有效处理 HTTP 请求中的异常情况,确保程序的
2025-05-11 21:26:59
592
原创 使用.Net项目升级助手,自动升级.Net项目
随着 .Net 版本的快速迭代,手动升级项目既繁琐又容易出错。为此,微软推出了 .NET Upgrade Assistant,这是一个 Visual Studio 的扩展插件,能够自动将 .Net 项目升级到指定的新版本,如 .NET 6+ 或 .NET 9.0 预览版。该工具支持多种项目类型,如 ASP.NET、Azure Functions、WPF 等,并提供三种升级方式:就地升级、并排升级和并排增量升级,以适应不同的项目需求和升级场景。使用步骤包括安装 Visual Studio 2022、安装 .N
2025-05-11 12:53:40
1858
原创 .Net HttpClient 使用请求数据
本文介绍了使用HttpClient进行请求数据传输的几种常见方式。首先,初始化HttpClient并设置全局配置。接着,通过URL传参、路由传参、请求头和请求体四种方式发送数据。URL传参适用于简单数据,路由参数则作为URL的一部分。请求头适合传递简单的数据,如JWT令牌。请求体支持多种格式,如Form表单、JSON、文本等,可以通过MultipartFormDataContent、FormUrlEncodedContent、StringContent等方式发送。每种方式都提供了相应的代码示例,展示了如何发
2025-05-11 12:25:48
1258
2
原创 .Net HttpClient 管理客户端(初始化与生命周期管理)
HttpClient 的初始化和生命周期管理是确保应用程序高效运行的关键。HttpClient 应实例化一次并在整个应用程序生命周期内重复使用,以避免性能开销和内存泄漏。手动管理方式包括直接实例化、静态类或单例模式,但这些方法存在灵活性和优雅性不足的问题。推荐使用IoC容器、工厂模式(如IHttpClientFactory)和复原库Polly来更高效地管理HttpClient。通过连接池和请求管道的默认配置,结合这些高级管理方法,可以显著提升应用程序的性能和稳定性。
2025-05-10 23:16:05
1165
原创 .Net HttpClient 使用准则
本文介绍了使用 System.Net.Http.HttpClient 类的最佳实践,特别是在处理 HTTP 请求和响应时的连接管理。从 .NET Core 2.1 开始,SocketsHttpHandler 提供了跨平台一致的行为。文章强调了 HttpClient 实例的重用,以避免频繁创建和释放连接导致的性能问题。通过设置 PooledConnectionLifetime、PooledConnectionIdleTimeout 和 MaxConnectionsPerServer 等参数,可以优化连接池的行
2025-05-10 12:04:04
1493
原创 .Net HttpClient 概述
HttpClient是.NET中用于发送HTTP请求和接收响应的类,位于System.Net.Http命名空间下。它提供了现代化、灵活且强大的方式与Web服务通信。
2025-05-09 23:37:03
1318
原创 多语言笔记系列:Polyglot Notebooks 技巧与总结
Polyglot Notebooks优点非常多,缺点也不少。有其非常适用的场景,也有其难以使用的地方。主要是用对地方,它就是神器!
2025-05-06 13:31:09
620
原创 多语言笔记系列:Polyglot Notebooks 中使用扩展库
Microsoft.DotNet.Interactive.ExtensionLab 是 .NET Interactive 的扩展工具库,主要用于增强交互式编程环境的功能性,提供实验性功能模块和高级数据处理能力。
2025-05-06 12:11:04
593
原创 多语言笔记系列:Polyglot Notebooks 中运行 BenchmarkDotnet 基准测试
在多语言笔记中,可以很方便的使用 BenchmarkDotnet 进行基准测试。
2025-05-05 19:22:30
565
原创 多语言笔记系列:Polyglot Notebooks 中使用 xUnit 单元测试
Polgylot Notebooks 并没有直接支持单元测试框架。不能像VS里那样方便的进行单元测试。简单远行的话,可以使用下面的方案!
2025-05-05 18:52:21
930
1
原创 多语言笔记系列:Polyglot Notebooks 多种使用方式
NET Interactive生态,大约由:前端UI(Jupyter、VSCode等)、交互协议(PMP、JMP)、执行器(.net interactive)和语言服务组成。有多种组合方式,来使用。最常用的还是 VS Code(Polyglot Notebooks插件)充当前端UI,调用 .net interactive 执行器。VS Code。
2025-05-04 22:11:52
744
原创 多语言笔记系列:Polyglot Notebooks 混合使用多语言并共享变量
混合使用多种语言(C#、F#、Powershell、SQL、KQL、Python、Html、JavaScript、JavaScript、Mermaind等语言),是多语言笔记的最大特性,并且支持各语言之间共享变量这一创新功能。
2025-05-04 12:42:11
909
原创 多语言笔记系列:Polyglot Notebooks 使用用户输入
在笔记本中,能够向用户询问某些值通常很有用。查询参数、身份验证令牌和文件路径是用于参数化笔记本的常见信息示例,以便在不同数据或不同用户之间重用它。有几种不同的方法可以避免在笔记本中硬编码这些值。
2025-04-24 15:18:15
833
原创 多语言笔记系列:Polyglot Notebooks 共享数据
使用 .NET 交互式内核,可以在单个笔记本中以多种语言编写代码。为了利用每种语言的不同优势,您会发现在它们之间共享数据很有用。即一种语言的变量,可以在其它语言中使用。默认情况下,.NET Interactive 支持多种不同的语言,其中大多数语言都允许使用magic 命令set和shared进行共享。
2025-04-24 12:50:47
1000
原创 多语言笔记系列:Polyglot Notebooks 管理nuget包
管理NuGet包浏览和查找NuGet包导入 NuGet 包设置包源欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入MarkdownText-to-HTMLAuthorsJohnLuke。
2025-04-22 22:08:12
1338
原创 多语言笔记系列:Polyglot Notebooks 添加Jupyter内核,支持Python语言
多语言笔记系列:添加Jupyter内核,支持Python语言
2025-04-20 18:24:55
476
原创 多语言笔记系列:Polyglot Notebooks 使用PocketView渲染html
PocketView是一个API,用于使用C#代码,用HTML的术语简明地编写HTML。就像HTML方法一样,它返回一个实现IHtmlCent的对象,因此输出将被假定为有效的HTML并呈现到您的笔记本中。由于目前.NET Interactive的格式化API不支持为嵌套的HTML片段生成格式化器,PocketView会回退到text/plain格式化器来描述传递对象的属性。通过将PocketView转换为字符串,您可以看到它产生的实际HTML,该字符串将以纯文本而不是HTML显示。
2025-04-19 16:49:52
517
原创 多语言笔记系列:Polyglot Notebooks 格式化显示
NET Interactive的格式化API是高度可配置的。可以使用中的代码,调整格式化行为的方式。
2025-04-18 20:42:48
1144
原创 多语言笔记系列:安装与配置 Jupyter Notebook
安装Jupyter环境,配置Jupyter使用Jupter同时支持Python、C#、F#、PowerShell, 在 Polyglot Notebook 中,远程连接到 Jupyter服务器,执行多语言笔记本。Jupyter(包括JupyterLab)安装环境: windows11 24H2(Windows Server 2022 21H2)、Python 3.11.4、JupyterNote 7.0.2、 JupyterLab 4.0.4。
2025-04-17 16:33:26
1101
原创 多语言笔记系列:Polyglot Notebooks 开篇 Polyglot Notebooks 概要与使用
Polyglot Notebooks 介绍与作用,简单使用
2023-04-13 10:40:25
2819
6
原创 Mosquitto Websocket 不能连接,解决过程小记
Mosquitto Websocket 不能连接,解决过程小记新安装完系统,启用 Mosquitto 的 Websocket 功能后,MQTTX 客户端 一直无法连接。问题困扰了几天,中途数次放弃,最终完美解决。记录下解决问题的过程和思路,一来记录下问题解决方案;二来记录下解决的过程与思路,总结一般解决问题的方法。问题安装好 Mosquitto, 配置中启用 “允许匿名连接”及配置好 Websocket 监控项,启动服务。使用 MQTTX 客户端,mqtt使用mqtt协议能连接上,但是使用 ws 协议
2022-05-22 15:12:14
4012
10
原创 asp.net 下载文件的文件名乱码解决
asp.net 下载文件时,文件名在firefox、IE等浏览器中的处理方式不一样,容易出现乱码。提供解决方案:1、添加编码规则Response.HeaderEncoding Response.ContentEncoding 为 utf-8Response.HeaderEncoding = System.Text.Encoding.UTF8;Response.ContentEncodin
2017-11-28 13:50:39
1498
1
原创 SQL 上一篇下一篇 排序字段(非ID排序)
SQL 上一篇下一篇 排序字段(非ID排序) 网上看了很多关于"上一篇下篇"的文章,可大都是按ID排序。实际上,很少有按ID排序的。分享下我的单独排序字段的写法,主要分为ms sql2000 和 ms 2005及以上版本。 SQL 2005及以上版本写法。declare @currentID intset @currentID=4;wit
2012-11-30 19:01:59
573
SQL: 查询连续登陆N天的人员
2025-05-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅