这篇文章列出了针对 ASP.NET 开发人员的有用工具。
工具
1. Visual Studio
Visual Studio Productivity Power tool:Visual Studio 专业版(及以上)的扩展,具有丰富的功能,如快速查找,导航解决方案,可搜索的附加参考对话框等
ASPCMS批量添加产品 ReSharper:提高 .NET 开发人员生产力的工具,提高代码质量,通过提供快速修复消除错误,等等
MZ-Tools:它可以在方法、文件、项目、解决方案或项目组、选定的文本,文件组合或项目组合中找到字符串。结果示于下面的结果窗口中,比由 Microsoft IDE 提供的要更方便。
Web Essentials:提高生产力和帮助高效编写 CSS,Java,HTML 等
ASPCMS批量助手 MSVSMON:远程调试监视器(msvsmon.exe)是一个 Visual Studio 连接进行远程调试的小型应用程序。在远程调试时,Visual Studio 运行在一台计算机(调试器主机)上,远程调试监视器运行与你正在调试的应用程序运行在一台远程计算机上。
WIX toolset:从 XML 源代码构建 Windows 安装程序包。
Code digger::Code Digger 是 Visual Studio 2012/2013 扩展程序,它可以帮助你了解你的代码行为。
CodeMaid:CodeMaid 是一个开源的 Visual Studio 2012/2013/2015 扩展程序,用于清理,挖掘和简化你的代码。
OzCode:强大的 Visual Studio 调试器可视化工具。
CodeRush:这是一个 Visual Studio 的重构和生产率插件。
T4 Text Template::在 Visual Studio 中,T4 Text Template 用作生成代码文件的模板。模板可以通过编写文本块和控制逻辑来定义。
Indent Guides:在每个缩进级别添加垂直线。
PowerShell Tools:一套用于开发和调试 PowerShell 脚本以及 Visual Studio 2015中模块的工具。
Visual Studio Code:免费的跨平台编辑器,用来构建和调试现代 web 和云的应用程序。 [由 Cheung Tat Ming提供]
AutoPoco:AutoPoco 是一个高度可配置的框架,用于流畅构建可读的来自于 Plain Old CLRObjects 的测试数据。
Supercharger:这是一个旨在显著改善 Visual Studio 开发体验的扩展程序。它建立在并增强了先前的 VS10x 产品,如 CodeMAP、Editor View Enhancer、Comments Extender,同时还增加了新的高品质工具。
2. ASP.NET
Fiddler:捕捉 HTTP 请求/响应以及模拟请求行为。
AutoMapper:对象到对象的映射。例如,该工具可用于映射实体对象到领域对象,而不是写手动映射代码。
Unity/Ninject/Castle Windsor/StructureMap/Spring.Net:依赖注入框架。有很多可用的 DI 框架。
.NET Reflector:.NET 程序集反编译器。
dotPeek:.NET 程序集反编译器。
ILSpy::.NET 程序集反编译器。
memprofiler:查找内存泄漏并优化内存使用的强大工具ASPCMS批量助手。
PostSharp:删除重复编码,并防止由于横切关注点以及面向方面编程而造成的代码膨胀。
ASPhere:有 GUI 的 web.config 编辑器。
3. REST API
Swagger UI:API 测试和文档工具。[视频]
PostMan:REST 客户端 Chrom 扩展程序。 [由 Cheung Tat Ming提供]
4. WCF
SOAP UI:API 测试工具,支持所有标准协议和技术。
WireShark:这是一个针对 Unix 和 Windows 的网络协议分析仪。它可以在 TCP 层捕获流量,帮助你发现 soap 封套。
SvcTraceViewer:可以更好地查看由 WCF 产出的巨大跟踪文件。
Svc Config Editor:用于管理 WCF 相关配置的 GUI 工具。
ASP.NET MVC随想录漫谈OWIN
OWIN是Open Web Server Interface for .NET的首字母缩写,他的定义如下:
OWIN在.NET Web Servers与Web Application之间定义了一套标准接口,OWIN的目标是用于解耦Web Server和Web Application。基于此标准,鼓励开发者开发简单、灵活的模块,从而推进.NET Web Development开源生态系统的发展ASPCMS批量更新文章。
正如你看到的这样,OWIN是接口、契约,而非具体的代码实现,仅仅是规范(specifications),所以要实现自定义基于OWIN的Web Server必须要实现此规范。
历时两年(2010-2012),OWIN的规范终于完成并且当前版本是1.0,在OWIN的官网上可以看到更具体的信息。
为什么我们需要OWIN
过去,IIS作为.NET 开发者来说是最常用的Web Server(没有之一),源于微软产品的紧耦合关系,我们不得不将Website、Web Application、Web API等部署在IIS上,事实上在2010年前并没有什么不妥,但随着近些年来Web的发展,特别是移动互联网飞速发展,IIS作为Web Server已经暴露出他的不足了。主要体现在两个方面,ASP.NET (System.Web)紧耦合IIS,IIS紧耦合OS,这就意味着,我们的Web Framework必须部署在微软的操作系统上,难以跨平台。
ASP.NET 和IIS
我们知道,不管是ASP.NET MVC 还是ASP.NET WEB API 等都是基于ASP.NET Framework的,这种关系从前缀就可以窥倪出来。而ASP.NET的核心正是System.Web这个程序集,而且System.Web紧耦合IIS,他存在于.NET Framework中。所以,这导致了Web Framework严重的局限性:
ASP.NET 的核心System.Web,而System.Web紧耦合IIS
System.Web 是.NET Framework重要组成,已有15年以上历史,沉重、冗余,性能差,难于测试,约2.5M
System.Web要更新和发布新功能必须等待.NET Framework发布
.但NET Framework是Windows的基ASPCMS批量添加栏目础,往往不会随意更新。
所以要想获取最新的Web Framework是非常麻烦的,幸运的事,微软已经意识到了问题的严重性,最新的Web Framework都是通过Nuget来获取。
当然这是一部分原因,还有一层原因是ASP.NET & IIS实在太过于笨重,如何讲呢?
复杂的生命周期已成为累赘?简单来说,当请求到达服务器时,Windows内核组件HTTP.SYS组件捕获请求,他会分析请求并决定是否交给IIS来处理,当请求到达IIS之后,IIS会根据处理程序映射来匹配请求并交给对应的程序集(实现了ISAPI接口,比如我们熟知的aspnet_isapi.dll是专门用来处理ASP.NET Application)处理,最后加载了CLR运行环境,将请求交给aspnet_wp.exe去处理,这时复杂的ASP.NET生命周期往往令人头大,但事实上有很多时候我们并不需要他。
如下图所示ASP.NET Architecture:
打开IIS,你会发现他提供了非常丰富的功能:缓存、身份验证、压缩、加密等。但随着移动互联网蓬勃的发展,特别是HTML 5越来越成熟的今天,我们看到越来越多的操作发生在客户端,而不是沉重的从服务器产生HTML返回,更多的是通过异步AJAX返回原生的数据。同理,对于APP来说我们只需要Mobile Service返回数据。显然IIS显得笨重了点,而且IIS作为微软产品系的一环,耦合程度太高。所以我们迫切需要轻量、快速、可扩展的宿主来承载Web Application和Web Service。
ASPCMS批量上传内容Microsoft ASP.NET Core 权限提升漏洞(CVE-2017-11879)
文章地址:https://www.tianxianmao.com/article/other/dASPNETcxyfcyygj.html