-
asp.net-mvc – OnValidateIdentity会话为空 – Mvc Owin
所属栏目:[asp.Net] 日期:2020-12-16 热度:82
目前,我在OnValidateIdentity中访问Session时遇到问题 – HttpContext.Current.Session为null.我错了什么我的申请如下: – 我有2个项目:Mvc vs WebApi – 我希望用户在我更改密码时会退出 – 改变安全标记. – 我实现为:Mvc项目将验证用户请求时更改的Sec[详细]
-
asp.net – 安装Ninject.MVC5后的FileLoadException
所属栏目:[asp.Net] 日期:2020-12-16 热度:151
我正在尝试使用Adam Freeman的“Pro ASP.NET MVC 5”一书来学习ASP.NET MVC.不幸的是,所有使用Ninject的项目都会抛出相同的错误 An exception of type ‘System.IO.FileLoadException’ occurred in Ninject.dll but was not handled in user code Additiona[详细]
-
具有依赖关系的并行操作执行
所属栏目:[asp.Net] 日期:2020-12-16 热度:197
今天看到看到一篇 MSDN 文章《Parallelizing Operations With Dependencies 》 , 作者是微软 Parallel Computing Platform 团队的一个开发经理。文中提供出一种用于并行执行一组具有依赖关系的操作的解决方案,这不由得想起我在一年之前写的一个具有相同的功[详细]
-
ASP.NET Core应用中如何记录和查看日志
所属栏目:[asp.Net] 日期:2020-12-16 热度:58
日志记录不仅对于我们开发的应用,还是对于ASP.NET Core框架功能都是一项非常重要的功能特性。我们知道ASP.NET Core使用的是一个极具扩展性的日志系统,该系统由Logger、LoggerFactory和LoggerProvider这三个核心对象组成。我们可以通过简单的配置实现对Logg[详细]
-
[WCF 4.0新特性] 标准终结点与无(.SVC)文件服务激活
所属栏目:[asp.Net] 日期:2020-12-16 热度:180
今天介绍WCF 4.0的另外两个新特性:标准终结点(Standard Endpoint)和无(.SVC)文件服务激活(File-Less Activation)。前者实现了针对典型通信场景对终结点的定制,后者让你在进行IIS/WAS的服务寄宿中无须定义.svc文件。 一、标准终结点 我们知道,绑定的本[详细]
-
通过几个Hello World感受.NET Core全新的开发体验
所属栏目:[asp.Net] 日期:2020-12-16 热度:88
2016年6月27日,这是一个特殊的日子,微软全新的.NET开发平台.NET Core的RTM版本正式发布。我个人将.NET Core的核心特性归结为三点,它们的首字母组成一个非常好记的简称——COM,分别代表的含义Cross-Platform、Open-Source和Modularization。开发.NET Core[详细]
-
三种属性操作性能比较:PropertyInfo + Expression Tree + Deleg
所属栏目:[asp.Net] 日期:2020-12-16 热度:101
在《上篇》中,我比较了三种属性操作的性能:直接操作,单纯通过PropertyInfo反射和IL Emit。本篇继续讨论这个话题,我们再引入另外两种额外的属性操作方式:Expression Tree(这和IL Emit基本一致)和通过Delegate的静态方法CreateDelegate创建相应的委托进[详细]
-
[ASP.NET MVC] 利用自定义的AuthenticationFilter实现Basic认证
所属栏目:[asp.Net] 日期:2020-12-16 热度:115
很多情况下目标Action方法都要求在一个安全上下文中被执行,这里所谓的安全上下文主要指的是当前请求者是一个经过授权的用户。授权的本质就是让用户在他许可的权限范围内做他能够做的事情,授权的前提是请求者是一个经过认证的用户。质询-应答(Chanllenge-R[详细]
-
如何在ASP.NET Core应用中实现与第三方IoC/DI框架的整合?
所属栏目:[asp.Net] 日期:2020-12-16 热度:183
我们知道整个ASP.NET Core建立在以ServiceCollection/ServiceProvider为核心的DI框架上,它甚至提供了扩展点使我们可以与第三方DI框架进行整合。对此比较了解的读者朋友应该很清楚,针对第三方DI框架的整合可以通过在定义Startup类型的ConfigureServices方法[详细]
-
[ASP.NET MVC]通过对HtmlHelper扩展简化“列表控件”的绑定
所属栏目:[asp.Net] 日期:2020-12-16 热度:152
在众多表单元素中,有一类select元素用于绑定一组预定义列表。传统的ASP.NET Web Form中,它对应着一组重要的控件类型,即ListControl,我们经常用到DropDownList, ListBox、CheckBoxList和RadioButtonList都是其子类。ASP.NET MVC通过对HtmlHelper和HtmlHe[详细]
-
[WCF]缺少一行代码引发的血案
所属栏目:[asp.Net] 日期:2020-12-16 热度:171
这是今天作项目支持的发现的一个关于WCF的问题,虽然最终我只是添加了一行代码就解决了这个问题,但是整个纠错过程是痛苦的,甚至最终发现这个问题都具有偶然性。具体来说,这是一个关于如何自动为服务接口(契约)的每个操作添加FaultContract与WCF服务元数[详细]
-
ASP.NET Core应用针对静态文件请求的处理[1]: 以Web的形式发布静
所属栏目:[asp.Net] 日期:2020-12-16 热度:121
虽然ASP.NET Core是一款“动态”的Web服务端框架,但是在很多情况下都需要处理针对静态文件的请求,最为常见的就是这对JavaScript脚本文件、CSS样式文件和图片文件的请求。针对不同格式的静态文件请求的处理,ASP.NET Core为我们提供了三个中间件,它们将是[详细]
-
yield在WCF中的错误使用——99%的开发人员都有可能犯的错误[上篇
所属栏目:[asp.Net] 日期:2020-12-16 热度:171
在定义API的时候,对于一些返回集合对象的方法,很多人喜欢将返回类型定义成IEnumerableT,这本没有什么问题。这里要说的是另一个问题:对于返回类型为IEnumerableT的方法来说,我们可以使用yield return的方式来输出返回集合的元素。但是如果我们不了解yiel[详细]
-
Visual Studio对程序集签名时一个很不好用的地方
所属栏目:[asp.Net] 日期:2020-12-16 热度:147
由于我们的项目底层使用到一个通过LogicalCallContext实现的上下文数据管理框架,导致所有的Unit Test不能正常运行。具体的现象在《只在UnitTest和WebHost中的出现的关于LogicalCallContext的严重问题》有过详细的介绍。解决的方案就是对相关的程序集进行强[详细]
-
关于WCF的一个非常“无语”的BUG!
所属栏目:[asp.Net] 日期:2020-12-16 热度:69
这确实是一个让人觉得“无语”的BUG,甚至让我觉得微软在故意和我们开玩笑。这个问题在我刚刚接触WCF的时候就遇到过,换言之,这个问题一直存在于.NET 3.0、3.5和现在的4.0。这是一个关于在你对WCF进行扩展的时候会经常碰到的问题,读者朋友们可以根据下面的[详细]
-
一个通过BackgroundWorker实现WinForm异步操作的例子
所属栏目:[asp.Net] 日期:2020-12-16 热度:94
在最近的一个Smart Client项目中,为了演示异步操作的实现,写了一个基于BackgorundWorker的例子。由于这个理基本上实现了BackgorundWorker的大部分功能:异步操作的启动、操作结束后的回调、异步操作的撤销和进度报告等等。尽管没有太多的技术含量,姑且放[详细]
-
.NET Core的日志[1]:采用统一的模式记录日志
所属栏目:[asp.Net] 日期:2020-12-16 热度:108
记录各种级别的日志是所有应用不可或缺的功能。关于日志记录的实现,我们有太多第三方框架可供选择,比如Log4Net、NLog、Loggr和Serilog 等,当然我们还可以选择微软原生的诊断框架(相关API定义在命名空间“System.Diagnostics”中)实现对日志的记录。.NET[详细]
-
SQLXML初体验:用XML代替T-SQL来操作数据库
所属栏目:[asp.Net] 日期:2020-12-16 热度:86
随着Internet的飞速发展,W3C成员意识到必须找到一种办法将数据和Web的表现方式分离出来,于是XML诞生了。当今的XML已经成为IT领域各个数据(特别是文档)的首选格式。由于它具有标记不同字段的能力,因此使搜索变得更简单。从微软发布SQL Server 2000的时候[详细]
-
四种为HttpClient添加默认请求报头的解决方案
所属栏目:[asp.Net] 日期:2020-12-16 热度:53
HttpClient在Web调用中具有广泛的应用,而为它添加默认请求头是我们经常遇到的需求,本文介绍4种为HttpClient添加默认请求头的方式。 第一种方式 直接在创建的HttpClient对象的DefaultRequestHeaders集合中添加报头。 class Program{ static Task Main()= Se[详细]
-
在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用
所属栏目:[asp.Net] 日期:2020-12-16 热度:113
由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET MVC的书籍“额外奉送”的),以至于很多人会觉得ASP.NET Web API仅仅是ASP.NET MVC的一个小小的扩[详细]
-
WCF服务的批量寄宿
所属栏目:[asp.Net] 日期:2020-12-16 热度:104
如果采用自我寄宿的方式,我们需要为每个寄宿的服务创建ServiceHost对象。但是一个应用往往具有很多服务需要被发布,基于单个服务的ServiceHost的创建将会变成一个很繁琐的事情。如果我们能够采用某种机制来读取所有配置的服务,并自动为它们创建相应的Servi[详细]
-
如何通过Remoting实现双向通信
所属栏目:[asp.Net] 日期:2020-12-16 热度:121
Remoting是NET平台下比较成熟高效的分布式技术,我们习惯采用传统的远程调用的方式使用Remoting。在客户端所在的Application Domain,我们通过Proxy(Transparent Proxy)远程地跨Application Domain调用一个方法。当来自Client端的调用请求通过Proxy到达Ser[详细]
-
两个简单的扩展方法:TrimPrefix和TrimSuffix
所属栏目:[asp.Net] 日期:2020-12-16 热度:100
今天写程序频繁用到两中字符串操作:删除某个字符串指定的前缀和后缀。由于没有现成的方法可用,写了两个扩展方法:TrimPrefix和TrimSuffix。 1: namespace System 2: { 3: public static class StringExtensions 4: { 5: string TrimPrefix( this string so[详细]
-
通过WCF扩展实现消息压缩
所属栏目:[asp.Net] 日期:2020-12-16 热度:187
对于需要进行大规模数据传输的WCF应用来说,对于请求消息和回复消息进行传输前的压缩,不但可以降低网络流量,也可以提高网络传输的性能。由于WCF的扩展性,我们可以采用不同的方式实现对消息的压缩,本文提供一种比较简单的实现方式。[源代码从这里下载] 一[详细]
-
创建代码生成器可以很简单:如何通过T4模板生成代码?[上篇]
所属栏目:[asp.Net] 日期:2020-12-16 热度:196
在《基于T4的代码生成方式》中,我对T4模板的组成结构、语法,以及T4引擎的工作原理进行了大体的介绍,并且编写了一个T4模板实现了如何将一个XML转变成C#代码。为了让由此需求的读者对T4有更深的了解,我们通过T4来做一些更加实际的事情——SQL Generator。[详细]