MVC
文章平均质量分 51
【Help】
这个作者很懒,什么都没留下…
展开
-
在编写异步方法时,使用 ConfigureAwait(false) 避免使用者死锁
我在 使用 Task.Wait()?立刻死锁(deadlock) 一文中站在类库使用者的角度看 async/await 代码的死锁问题;而本文将站在类库设计者的角度来看死锁问题。阅读本文,我们将知道如何编写类库代码,来尽可能避免类库使用者出现那篇博客中描述的死锁问题。可能死锁的代码现在,我们是类库设计者的身份,我们试图编写一个 RunAsync 方法用以异步执行某些操作。private async Task RunAsync(){ // 某些异步操作。}1234类库的使用..转载 2021-05-28 09:13:23 · 459 阅读 · 0 评论 -
WebApi接口测试工具:WebApiTestClient
http://www.cnblogs.com/landeanfen/p/5210356.html前言:这两天在整WebApi的服务,由于调用方是Android客户端,Android开发人员也不懂C#语法,API里面的接口也不能直接给他们看,没办法,只有整个详细一点的文档呗。由于接口个数有点多,每个接口都要详细说明接口作用、参数类型、返回值类型等等,写着写着把博主惹毛了,难道这种文档非要转载 2016-03-14 10:06:28 · 14899 阅读 · 0 评论 -
NonAction与ChildActionOnly
NonAction表示它不是一个真正的Action,而是一个普通方法;ChildActionOnly表示它只能在View中通过Html.Action或Html.RenderAction来使用原创 2016-02-25 14:03:14 · 2431 阅读 · 0 评论 -
WebAPI 用户认证防篡改实现HMAC(一)MD5签名获取
在开始前先说下HMAC防篡改机制的原理,如果已经接触过支付宝的可以跳过此部分防篡改,顾名思义就是防止有人恶意篡改请求数据以达到恶意攻击的目的,那要怎么才能实现这样的目的呢?其实很简单,将要请求的数据加上合作号、合作Key按规则组织成一个字符串,获取对应的MD5摘要,然后将该摘要及合作号同时作为请求的一部分一起传递(合作Key禁止传递)下面进行举例:假定需要进行签名的参数如下转载 2016-03-16 15:03:50 · 1185 阅读 · 0 评论 -
ASP.NET MVC学习之Ajax(完结)
一.前言通过上面的一番学习,大家一定收获不少。但是总归会有一个结束的时候,但是这个结束也意味着新的开始。如果你是从事ASP.NET开发,并且也使用了第三方控件,那么一定会觉得ASP.NET开发ajax十分的简单,而ASP.NET MVC学习到现在页面都是刷新的,所以这节就是ASP.NET MVC的最后一节,通过这节的学习我们将能够实现通过ajax提交表单,下面我们开始继续学习。转载 2016-01-15 11:42:11 · 562 阅读 · 0 评论 -
在MVC中Controller为VIEW页面中的DropDownList赋值并锁定
首先是枚举对象的遍历#region 类型列表框 typeitems = new List(); foreach (string i in Enum.GetNames(typeof(ServiceDocumentType))) { typeitems.Add(new SelectL转载 2015-12-16 10:43:12 · 1944 阅读 · 0 评论 -
WebAPI GET和POST请求的几种方式
GET请求1.无参数get请求 一般get请求有两种写法,一种是$.get() 一种是$.ajax({type:"get"}),我个人比较喜欢用后者。下面例子主要是get无参数请求,获取人员列表并将数据返回到前台,并将返回的json数据转换成字符串弹出,以便知道是否请求成功,并且返回的数据是否正确 1 $.ajax({ 2 u转载 2016-01-14 17:08:07 · 2880 阅读 · 0 评论 -
httpClient post WebAPI
public class DemoController : ApiController{ public IList SiteList(int startId, int itemcount) { var sites = new List(); sites.Add(new Site { SiteId = 1, Title = "test", Uri =转载 2016-01-13 16:59:34 · 925 阅读 · 0 评论 -
Asp.Net Mvc: 应用BindAttribute
前文我们讲述了如何实现自定义的ModelBinder,本文继续研究如何使用BindAttribute来定制Model绑定的Properties.我们再次上一篇文章提到的Book类,BookController.Create Action,以及Create的ViewBook类:Create Action:对应的View:请注意,这里我们没有应用前一转载 2016-01-13 15:37:40 · 414 阅读 · 0 评论 -
asp.net 5
相关学习地址:http://www.cnblogs.com/TomXu/p/4496545.html以下计算视图执行的时间using System;using System.Collections.Generic;using System.Diagnostics;using System.Linq;using System.Threading.Tasks;using Mi原创 2016-01-13 10:21:46 · 379 阅读 · 0 评论 -
使用Json比用string返回数据更友好,也更面向对象一些
以前的程序:ViewData["msg"] = "{result:true,FileName:\"" + new FileInfo(Request.Files[0].FileName).Name + "\",FileUrl:\"" + fileurl.Replace("\"", "") + "\"}";重构之后的程序: JsonResult j转载 2015-12-08 13:38:40 · 542 阅读 · 0 评论 -
ASP.Net WebAPI的返回值
Asp.Net WebAPI服务函数的返回值主要可以分为void、普通对象、HttpResponseMessag、IHttpActionResult e四种,本文这里简单的介绍一下它们的区别。一、返回void返回void一般常用于Put和Delete函数。 public void Delete(int id) { } 当服务函数执行转载 2016-01-27 10:30:56 · 4203 阅读 · 0 评论 -
MVC中处理Json和JS中处理Json对象
事实上,MVC中已经很好的封装了Json,让我们很方便的进行操作,而不像JS中那么复杂了。MVC中: public JsonResult Test() { JsonResult json = new JsonResult {转载 2015-12-08 13:27:51 · 1044 阅读 · 0 评论 -
基于Attribute的Web API路由设置
路由对于MVC应用程序来说都是至关重要的一个部门,不管是asp.net mvc或者Ruby on Rails(当然还有其它的,我只熟悉这两个:) ) asp.net mvc自带的路由配置是在Global.asax文件中,这里给大家介绍一个基于属性的路由配置工具:AttributeRouting,它不仅可以适用于ASP.NET MVC也适用于ASP.NET Web API项目。我们以ASP.NET转载 2016-03-14 15:53:21 · 1830 阅读 · 0 评论 -
HttpResponseMessage && IHttpActionResult
本主题描述 ASP.NET Web API 将返回值转换从一个控制器动作到 HTTP 响应消息。一个 Web API 控制器动作可以返回下列任一操作 ︰无效HttpResponseMessageIHttpActionResult一些其他类型根据哪一种被返回,Web API 使用一个不同的机制来创建 HTTP 响应。返回类型Web转载 2016-03-15 13:53:17 · 7492 阅读 · 0 评论 -
异常处理在 ASP.NET Web API
这篇文章描述错误和异常处理在 ASP.NET Web API。HttpResponseException异常筛选器注册的异常筛选器HttpErrorHttpResponseException如果 Web API 控制器引发未捕获的异常,会发生什么?默认情况下,大多数异常被转译为 HTTP 响应状态代码 500,内部服务器错误。HttpRespon转载 2016-03-15 14:08:38 · 2097 阅读 · 0 评论 -
MVC 路由自定义检查
public static void RegisterRoutes(RouteCollection routes) { routes.Add("test",new TRoute());} //基于路由检查信息 public class TRoute:RouteBase { public override RouteDa...原创 2019-07-29 13:25:04 · 151 阅读 · 0 评论 -
MVC安全:ajax表单提交切记加上AntiForgeryToken防止跨站请求伪造 (CSRF)攻击
因为项目使用的是mvc的框架,前端使用的是metronic bootstrap框架,所以在处理表单的提交时就用了ajax的方式进行提交,这样前端js也方便封装,实现代码复用。先看看js端的相关代码下面是ajax部分代码然后我们来看看后台控制中情况如图,需要在新增和修改的方法上面加上两个修饰属性[HttpPost]和[MyValidateAntiForgeryT...转载 2019-04-17 10:43:19 · 465 阅读 · 0 评论 -
Why is HttpContext.Current null after await?
今天在对项目代码进行异步化改进的时候,遇到一个奇怪的问题(莫笑,以前没遇过),正如标题一样,HttpContext.Current 在 await 异步执行之后,就会变为 null。演示代码: public async Task<IEnumerable<string>> Get() { await DoWaitAsync(...转载 2018-04-04 10:21:05 · 370 阅读 · 1 评论 -
ASP.NET 谨用 async/await
C# 5.0 引入 async/await 关键字,旨在简化异步编程模型,抛去语法糖就是 Net4.0 的 Task + 状态机。其实在处理异步编程使用 Task 还是挺简单的,不过既然推出了新的语法糖,难免会尝试一下,然而在使用中却没想象中那么单纯。以下针对ASP.NET 应用程序实际使用过程中的一些总结, 包括 异常捕获 、 死锁 、 应用程序崩溃 ,实际使用过程中一不注意就可能掉坑里了。异常...转载 2018-03-27 14:11:06 · 1480 阅读 · 0 评论 -
async、await在ASP.NET中线程死锁的解决方法
C# 5.0中引入了async 和 await。这两个关键字可以让你更方便的按照同步的方式写出异步代码。也就是说使你更方便的异步编程。下面演示使用async,await的方式:第一步:将 VS2010 升级到 VS2010 sp1.第二步:下载Async CTP,进行安装第三步:为应用程序添加AsyncCTPLibrary引用,如下:OK,将上面的SumPageSizes 方法修改如下:publi...转载 2018-03-27 14:10:16 · 4019 阅读 · 0 评论 -
ajax中加上AntiForgeryToken防止CSRF攻击
经常看到在项目中ajax post数据到服务器不加防伪标记,造成CSRF攻击在Asp.net Mvc里加入防伪标记很简单在表单中加入Html.AntiForgeryToken()即可。Html.AntiForgeryToken()会生成一对加密的字符串,分别存放在Cookies 和 input 中。我们在ajax post中也带上AntiForgeryToken @model WebApplica...转载 2018-02-28 13:26:33 · 492 阅读 · 0 评论 -
ASP.NET MVC 插件化机制
转载:http://www.cnblogs.com/aaa6818162/p/4343500.html概述nopCommerce的插件机制的核心是使用BuildManager.AddReferencedAssembly将使用Assembly.Load加载的插件程序集添加到应用程序域的引用中。具 体实现可以参考nopCommerce解决方案中Nop.Core项目的Plugins目录下转载 2017-09-25 14:14:39 · 586 阅读 · 0 评论 -
根据Url参数调用具体的方法
var builder = new ContainerBuilder(); builder.RegisterType().Named("ISql"); builder.RegisterType().Named("IOrder"); IContainer container = builder.Build();原创 2017-06-09 11:15:07 · 1468 阅读 · 0 评论 -
ASP.NET MVC IOC 之AutoFac攻略
一、为什么使用AutoFac?之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌似更为普遍,于是捯饬了两天,发现这个东东确实是个高大上的IOC容器~Autofac是.NET领域最为流行的IOC框架之一,传说是速度最快的一个:优点:它是C#语言联系很紧密,也就是说C#里的很多编程方式都可以为Autofac使用,例如可以用La转载 2017-06-09 09:56:48 · 599 阅读 · 0 评论 -
paypal
1.https://developer.paypal.com/ 注册账号,并且申请一个app,获得 client id,secret等数据 2.点击页面中"Sandbox Account"按钮,创建至少两个账号(一个收钱用,一个付钱用),paypal中sandbox是测试环境。live是上线后的环境。 3.转载 2017-04-25 17:02:30 · 1468 阅读 · 0 评论 -
ASP.NET MVC IOC 之AutoFac攻略
一、为什么使用AutoFac?之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌似更为普遍,于是捯饬了两天,发现这个东东确实是个高大上的IOC容器~Autofac是.NET领域最为流行的IOC框架之一,传说是速度最快的一个:优点:它是C#语言联系很紧密,也就是说C#里的很多编程方式都可以为Autofac使用,例如可以用La转载 2016-12-08 09:05:47 · 1542 阅读 · 0 评论 -
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(30)-本地化(多语言)
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(30)-本地化(多语言)我们的系统有时要扩展到其他国家,或者地区,需要更多的语言环境,微软提供了一些解决方案,原始我们是用js来控制的,现在不需要了。我们只要创建简单的资源文件,通过MVC的路由设置就可以轻松的进行语言中的切换。本节受益于:Asp.net MVC3 高级编程第121转载 2016-10-09 09:00:21 · 724 阅读 · 0 评论 -
MVC中一个表单实现多个提交按钮(一个action搞定添删改)
默认情况下,一个表单只能有一个提交事件,这不难理解,但有时我们需要有多个实现,早在ASP时代就可以实现这个功能,难道到了MVC时代后,功能削减了?当然不是,这和MVC本身有关,微软在这方面比较提倡一个提交事件对应一个action,这和它自代的实例是相吻合的,而一个action可能会根据请求方式不同分为GET和POST两种,这样的设计确实很清晰,代码可能是这样public ActionResul转载 2015-12-08 15:06:26 · 2002 阅读 · 0 评论 -
为下拉列表框添加一个自定义验证规则
开发它的原因:之前的同事,也是我的哥们,问我下拉列表框是否可以支持验证,这个问题看似简单,但确实MVC里有为我们提供,所以,只能自己写个扩展了,即自己写一个attribute特性,让它继承ValidationAttribute,使它可以与其它MVC提供的验证一起使用.MVC验证是怎么运行的:在MVC的特性验证,很方便,很直接,它无论是在数据安全性上还是在页面表现上都做的不错转载 2015-12-08 17:21:02 · 1635 阅读 · 0 评论 -
带扩展名的路由失效问题
对MVC中,对URL进行重写变得非常方便,你只要设置相应的路由规则即可完成,但进行MVC3后,发现设置了以下路由,系统具体不认 routes.MapRoute( name: "Default1", url: "{controller}/{action}/{id}.html",转载 2015-12-08 16:51:10 · 318 阅读 · 0 评论 -
asp.net mvc4 简单使用Autofac依赖注入小结
1,首先使用 NuGet下载适当的Autofac版本文件一,Autofac.3.5.2文件二,Autofac.Mvc4.3.1.01,接口类public interface IRepository{ void GetListCount();}2,实现类 public class Repository:IRepository {转载 2015-07-14 11:45:53 · 4296 阅读 · 0 评论 -
创建ASP.NET Web API项目 http://www.cnblogs.com/darrenji/p/4437680.html#3200330
新建项目,选择"ASP.NET MVC 4 Web应用程序"。 选择"Web API"。 在Models文件夹下创建Product类。 public class Product { public int Id { get; set; } public string Name { get; set; }转载 2015-06-15 14:00:21 · 1081 阅读 · 0 评论 -
MVC后台异常跳转页面
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Net;namespace MvcApplication1{ /// /// 自定义404异常 /// public原创 2015-05-04 14:39:40 · 3449 阅读 · 0 评论 -
MVC学习
http://www.cnblogs.com/mzwhj/archive/2012/10/22/2720089.html原创 2014-10-15 14:36:03 · 405 阅读 · 0 评论 -
把老赵的页面缓存片断改一下,呵呵
老赵同志写的页面缓存片断不错,用着方便,但我感觉在前端调用上有些不便,可以我把他的代码又改了一下,呵呵!老赵代码的调用:Before Rendering:Rendering:"Now", null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, () => { System.Threading.T转载 2015-05-15 14:43:08 · 570 阅读 · 0 评论 -
MVC Html.AntiForgeryToken() 防止CSRF攻击
(一)MVC Html.AntiForgeryToken() 防止CSRF攻击MVC中的Html.AntiForgeryToken()是用来防止跨站请求伪造(CSRF:Cross-site request forgery)攻击的一个措施,它跟XSS(XSS又叫CSS:Cross-Site-Script),攻击不同,XSS一般是利用站内信任的用户在网站内插入恶意的脚本代码进行攻击,而CSRF转载 2015-04-08 13:29:09 · 553 阅读 · 0 评论 -
MVC 3.0 在各个版本IIS中的部署
http://www.cnblogs.com/xiongpq/archive/2011/05/25/2057445.htmlMVC 3.0 在各个版本IIS中的部署概述:最近在做一个MVC 3的项目,在部署服务器时破费了一番功夫,特将过程整理下来,希望可以帮到大家!本文主要介绍在IIS5.1、IIS6.0、IIS7.5中安装配置MVC 3的具体办法!转载 2014-10-14 21:28:50 · 456 阅读 · 0 评论 -
MVC 中 使用unobtrusive ajax 局部更新
我使用的是Linq to sql 对数据库进行通信的,使用表为product首先我们要引用unobtrusive 这个js文件[html] view plaincopyscript src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript">script>转载 2014-11-16 15:56:35 · 528 阅读 · 0 评论 -
MVC Html.AntiForgeryToken() 防止CSRF攻击
(一)MVC Html.AntiForgeryToken() 防止CSRF攻击MVC中的Html.AntiForgeryToken()是用来防止跨站请求伪造(CSRF:Cross-site request forgery)攻击的一个措施,它跟XSS(XSS又叫CSS:Cross-Site-Script),攻击不同,XSS一般是利用站内信任的用户在网站内插入恶意的脚本代码进行攻击,而CSRF转载 2015-05-13 17:57:18 · 415 阅读 · 0 评论