Anduin Xue
Anduin Xue

Anduin's Tech Blog

Web Development Topics about web development


HTTP post file from .NET Core new HTTP client

本文介绍了在 .NET Core 3 中使用新的 HTTP 客户端上传文件的方法。通过 `MultipartFormDataContent` 类,可以轻松处理多部分表单数据,实现文件上传。文章提供了代码示例,展示了如何创建 `MultipartFormDataContent` 对象、添加文件流以及发送 POST 请求。此外,还讨论了与传统表单 URL 编码内容的区别,并强调了使用新客户端的优势。你是否也遇到了需要在 .NET Core 中上传文件的需求?了解这些步骤后,你是否能想到更多优化上传过程的方法?--DeepSeek

ASP.NET Core C# .NET Core HTTP Web File HTTP Client POST

Bootstrap dark theme minimum style

这篇文章探讨了如何为基于Bootstrap构建的网站实现暗黑模式支持,以适应现代操作系统(如iOS和Android)对深色主题的需求。通过使用CSS媒体查询`@media (prefers-color-scheme: dark)`和JavaScript检测方法,可以在不大幅修改现有代码的情况下,自动切换至暗黑模式。文章详细介绍了如何在JavaScript中监听设备的暗黑模式状态变化,并通过调整元素类名(如将`.navbar-light`替换为`.navbar-dark`)以及特定样式(如表单控件、输入框和代码块的背景与文字颜色),实现无缝的主题切换。此外,文章还展示了暗黑模式下网站的实际效果,并强调了对细节部分(如分页面包屑和jumbotron组件)进行额外样式的必要性。读者是否也考虑为自己的网站添加这种自适应功能?--DeepSeek

Web CSS Bootstrap Media Query Style Dark theme

Microsoft account integrated sign in via C#

这篇文章介绍了一种使用C#语言实现与微软服务器认证的方法。作者详细讲解了如何通过OAuth 2.0协议完成用户身份验证,并获取用户信息。主要内容包括:首先需要在Azure Portal中注册一个应用程序并获取应用ID和密钥;然后在代码中引入必要的NuGet包,并配置AppSettings.json文件存储相关密钥信息;接着通过实现MicrosoftService类来处理认证逻辑,其中包括获取访问令牌(AccessToken)的方法、获取用户详细信息的接口以及自定义的异常处理机制。作者还提供了完整的源代码链接供参考。--DeepSeek

ASP.NET Core Azure Microsoft OAuth Login Authentication

How to write a bot for Kahla

这篇文章介绍了如何使用Kahla.SDK库为Kahla平台编写聊天机器人。通过简单的步骤,你可以快速创建一个基本的机器人并运行它。文章详细展示了从安装.NET Core SDK到编写机器人逻辑的整个过程,并提供了代码示例来帮助你理解如何实现消息处理和依赖注入等功能。此外,文章还提到了一些高级功能,如自定义启动配置,以满足更复杂的需求。最后,作者邀请读者通过实际操作探索更多可能性,例如创建更复杂的机器人或深入了解Kahla平台的其他特性。那么,你准备好开始编写自己的聊天机器人了吗?--DeepSeek

C# .NET Core Aiursoft Kahla Bot Kahla.SDK Kahla App Console App

C#获取腾讯云直播的推流地址和观看地址

这篇文章介绍了如何通过C#代码实现腾讯云直播的推流地址和观看地址的获取。面对腾讯云官方文档中仅提供Java和PHP示例的情况,作者通过逆向分析和尝试,最终成功编写了C#代码来完成这一功能。文章详细解释了关键参数txTime的含义(自1970年至今的总秒数),并展示了如何通过MD5加密算法生成安全链接。代码部分包括获取推流地址和播放地址的实现,其中推流地址使用RTMP协议,而播放地址则支持多种格式如FLV和M3U8。文章最后还提供了完整的C#代码示例及其运行效果,帮助读者快速理解和实现类似功能。你是否也想通过C#实现腾讯云直播的推流和播放?不妨按照本文的方法尝试一下,并思考如何根据实际需求调整代码参数来生成符合自己项目要求的地址。--DeepSeek

C# .NET Core Tencent Cloud Live Streaming China Tencent Cloud Live

Use IIS or Azure App Service as a reverse proxy

这篇文章主要介绍了如何通过IIS URL Rewrite Module和Azure App Service配置反向代理服务器。文中详细讲解了在本地IIS环境中创建空网站、设置绑定以及编写web.config文件以实现反向代理功能,包括强制HTTPS和HSTS增强安全性的方法。此外,文章还说明了如何将配置部署到Azure App Service,并通过Kudu控制台启用ARR服务以确保反向代理正常工作。最后,提供了测试和验证反向代理功能的具体步骤。--DeepSeek

IIS web.config Reverse Proxy Web Azure App Service Azure

Share view component between different ASP.NET Core web project

这篇博客详细探讨了如何在不同的ASP.NET Core Web项目之间共享视图组件,以避免重复编写相同的逻辑或组件。通过创建一个支持Razor的类库项目,并按照步骤配置项目文件和组织视图组件,开发者可以轻松实现跨项目的视图组件复用。文章还展示了如何在新项目中导入这些共享组件,并提供了实际使用的示例。这种方法不仅提高了开发效率,还简化了代码维护。你是否也遇到过需要在多个项目之间共享视图组件的需求?通过这篇文章的指导,你可以高效地实现这一目标。此外,思考一下:除了视图组件,还有哪些类型的资源或逻辑可以通过类似的方法进行跨项目共享,从而进一步提升开发流程的整体效率?--DeepSeek

ASP.NET Core C# class library View component ViewComponents ClassLibrary

Limit ASP.NET Core request frequency by IP address

本文讨论了如何限制ASP.NET Core应用中基于IP地址的请求频率以防止滥用或攻击。默认情况下,用户可以无限制地向 ASP.NET Core 网站服务器发送请求,这可能导致垃圾数据提交或服务崩溃。为了避免这种情况,需要一个解决方案来按IP分组请求、限制请求频率并在超出限制时返回错误信息。 虽然存在AspNetCoreRateLimit这样的现有库,但该库过于复杂且无法按控制器或动作进行过滤。因此,作者创建了一个更简单轻量的自定义实现:`LimitPerMin` 属性。这个属性使用内存字典存储IP地址及其对应路径的请求频率,并在超出预设限制时返回 HTTP 429(Too Many Requests)状态码。 通过为控制器或动作添加 `[LimitPerMin]` 或 `[LimitPerMin(自定义限制)]` 属性,可以轻松实现基于IP和路径的速率限制。默认情况下,允许每分钟30次请求,超出后将返回重试时间提示并阻止进一步请求。该方案还支持设置剩余请求头信息,帮助客户端了解当前限制状态。 这种简单有效的解决方案不仅避免了现有库的复杂性,还能灵活适配不同场景下的速率控制需求。你是否在寻找一个轻量且易于集成的ASP.NET Core请求频率限制方案?这个自定义实现可能正是你需要的答案。--DeepSeek

ASP.NET Core .NET Core IP HTTP Rate Limiting IP Based

Using IIS and web.config to support large file upload

这篇文章探讨了在使用IIS服务器时,如何通过配置`web.config`文件来支持大文件上传的问题。默认情况下,IIS对上传的文件大小有限制(如IIS 6为4 MB,IIS 7为28.6 MB),当上传超过限制的文件时会触发错误。文章介绍了通过修改`web.config`中的设置来增加上传限制的方法,并提供了一个示例配置。此外,文章还提到在发布构建时生成一个特定的`web.Release.config`文件以实现动态调整,确保生产环境支持大文件上传。然而,在实际应用中可能会遇到另一个问题:当请求路径包含双转义字符时,服务器可能返回404错误。对此,文章进一步解释了如何通过修改`requestFiltering`设置来解决这一问题,并给出了相应的配置示例。这些方法不仅能够有效提升文件上传的限制,还能确保系统的稳定性和安全性。在实际操作中,你是否也遇到过类似的问题?又该如何避免或快速排查这些配置上的陷阱呢?--DeepSeek

IIS web.config ASP.NET ASP.NET Core File Upload HTTP Errors