摘要: 在程序中安装System.Web.Optimization程序集 依赖关系如下图所示: 添加BundleConfiguration类 代码如下所示 注意必须使用对应的ScriptBundle和StyleBundle类,不能直接使用基类Bundle,否则启用该组件的压缩功能。 最后我们在Global文 阅读全文
posted @ 2016-05-08 19:30 陌上荼靡 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 新建Web空项目,选择MVC相关基础组件 安装EntityFramework 添加模型和上下文对象 添加包含读写的控制器 点击添加报错 这时需要重新生成项目,然后再试尝试添加控制器,OK 为调试方便,修改默认路由 运行,OK 注:如果不手动设置连接字符串,数据会存储在系统默认的位置( C:\User 阅读全文
posted @ 2016-05-08 19:29 陌上荼靡 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 当我们修改数据模型,添加一个如下字段 再次运行程序,会因为数据库结构与模型不一致而报错 为解决以上错误可以采取以下三种方式 1、 删除数据库,重新运行站点,会重新生成数据库,这样就会丢失数据 2、 手动在数据库中修改表结构,使其与模型一致 3、 使用如下教程所示的EF的数据迁移【Code First 阅读全文
posted @ 2016-05-08 19:28 陌上荼靡 阅读(3541) 评论(2) 推荐(1) 编辑
摘要: Code First、Database First和Model First基本图解: 1)Database First: 如果数据库已经存在,可以使用VS自动生成数据模型,已经相关的edmx信息 2)Model First 如果还未创建数据库,可以在VS中利用Model设计数据库,通过设计器生成映射 阅读全文
posted @ 2016-05-08 19:27 陌上荼靡 阅读(1750) 评论(0) 推荐(1) 编辑
摘要: 在控制器中可以使用TryUpdateModel或者UpdateModel方法来对指定的数据Model进行更新,如图所示的更新操作。 POST请求数据如下所示 使用如下代码就可以对指定的字段进行更新 使用TryUpdateModel或者UpdateModel方法可以省去我们对Action中的参数绑定, 阅读全文
posted @ 2016-05-08 19:26 陌上荼靡 阅读(1629) 评论(0) 推荐(0) 编辑
摘要: over-posting简单的说就是指用户通过猜测等手段得知了后端数据Model的属性名称,在数据更新或添加的时候提交了本不应该允许用户更改的数据库字段,并且在服务器端因为没有进行防御而将恶意提交的数据写入了数据库。 对于这种漏洞的防御可以使用第6节所示的方式进行模型的更新,也可以使用Bind特性在 阅读全文
posted @ 2016-05-08 19:26 陌上荼靡 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 首先下载MVC源代码,下载地址为:https://aspnetwebstack.codeplex.com/ 打开项目,卸载test文件夹下的所有项目和System.Web.WebPages.Administration这个项目,然后重新编译源代码,重新生成所有项目。 在项目中新建一个空的Web项目, 阅读全文
posted @ 2016-05-08 19:26 陌上荼靡 阅读(3414) 评论(2) 推荐(2) 编辑
摘要: 要想将本地Git上代码提交到GitHub可以使用两种协议进行提交,分别使用HTTPS和SSH两种协议,如下所示。 当使用HTTPS协议时,每次推送的时候都需要输入GitHub平台的用户名密码。 当使用SSH协议时,需要在本地配置一个SSH的私钥文件,并注册到GitHub平台上,这样不必每次提交时都使 阅读全文
posted @ 2016-05-08 19:25 陌上荼靡 阅读(1131) 评论(0) 推荐(0) 编辑
摘要: PreApplicationStartMethod主要用于为程序集指定一个方法,在程序集加载时进行一些自定义的初始化处理。 使用方式如下所示,首先在程序集中定义一个公共类型和一个公共静态的方法 然后我们使用PreApplicationStartMethod属性注册该方法进行程序集的预处理,注意Pre 阅读全文
posted @ 2016-05-08 19:24 陌上荼靡 阅读(799) 评论(0) 推荐(0) 编辑
摘要: 在OAuthBearerAuthenticationMiddleware中使用Microsoft.Owin.Security.DataHandler. SecureDataFormat<TData>类型进行加密解密的操作,其中加密的主要流程如下所示。 其中第二步中的主要使用Microsoft.Owi 阅读全文
posted @ 2016-05-08 19:24 陌上荼靡 阅读(5601) 评论(0) 推荐(0) 编辑
摘要: 在VS中修改Web项目的服务器设置时无法加载改Web项目,提示如下图 原因:因为项目中的EbcBuy.Bll.Users.WebApi.csproj.user文件并没有加入到版本控制文件,所以讲项目还原是EbcBuy.Bll.Users.WebApi.csproj项目文件被还原了,但是.user文件 阅读全文
posted @ 2016-05-08 19:23 陌上荼靡 阅读(758) 评论(0) 推荐(0) 编辑
摘要: WebApi程序发布到IIS上后,无法使用Put的方式进行请求,错误信息如下: 原因和解决方案: 在IIS中默认不支持Put请求和Delete请求,因为IIS中注册的WebDAVModule对Put请求和Delete进行了拦截,所以如果不需要再IIS中弃用WebDAV可以直接通过Webconfig文 阅读全文
posted @ 2016-05-08 18:14 陌上荼靡 阅读(2078) 评论(0) 推荐(1) 编辑
摘要: 错误如下图所示: 关键性错误信息: 编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\8b0443a9\fbbcc979\App_global. 阅读全文
posted @ 2016-05-08 18:13 陌上荼靡 阅读(668) 评论(0) 推荐(1) 编辑
摘要: webapi地址:wapapi.ebcbuy.com web地址:wapweb.ebcbuy.com 在默认情况下这两个域名属于两个不同的域,他们之间的交互存在跨域的问题,但因为他们都同属于一个二级域名下,所以通过简单的设置就能实现跨域行为,但是考虑到实际生产环境中往往会出现两个域名 完全不同的情况 阅读全文
posted @ 2016-05-08 18:12 陌上荼靡 阅读(10595) 评论(1) 推荐(0) 编辑
摘要: 在IIS中发布网站,在本地可以直接访问,但是其他主机不能访问改发布的网站。 此问题一般是IIS的配置或者防火墙的配置的原因。 如果禁用了以下防火墙入站规则会导致外部主机无法访问本地发布的网站,启用即可。 阅读全文
posted @ 2016-05-08 18:11 陌上荼靡 阅读(880) 评论(0) 推荐(0) 编辑
摘要: 如何在本地调试服务器上的站点? 如果要在本地调试服务器上的站点我们需要用到一个远程调试工具msvsmon.exe。 我们可以再VS安装目录中找到它 如:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Remote Deb 阅读全文
posted @ 2016-05-08 18:10 陌上荼靡 阅读(10958) 评论(2) 推荐(2) 编辑
摘要: 方案: 1、jsonp 仅支持Get方法进行调用,利用Html中的Script标签可以进行跨域进行实现,可以直接设置JQuery中ajax的 dataType:'JSONP'来实现JSONP跨域请求数据 2、html5特性(Access-Control-Allow-Origin) 利用Html5中支 阅读全文
posted @ 2016-05-08 18:09 陌上荼靡 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 一、MVC的异常过滤器 1、自定义MVC异常过滤器 创建一个类,继承HandleErrorAttribute即可,如果不需要作为特性使用直接实现IExceptionFilter接口即可, 注意,该接口在<!--WizRtf2Html Charset=0 -->System.Web.Mvc 命名空间下 阅读全文
posted @ 2016-05-08 18:08 陌上荼靡 阅读(2878) 评论(0) 推荐(0) 编辑
摘要: 委托: 使用委托我们可以将方法以参数的形式进行传递,委托可以理解为一个指向方法的指针。 事件: 事件只能在声明它的类型的内部进行调用,在外部只能对事件进行注册和注销自己注册的事件,即只能进行+=和-=的操作 委托和事件的区别: 委托是一种类型,它可以在类级别进行声明(即可以直接在命名空间进行声明), 阅读全文
posted @ 2016-05-08 18:06 陌上荼靡 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 在程序中定义一个属性, 在经过编译后,实际会生成两个方法 所以说实际上属性本质上就是方法。 自动属性: 自动属性必须同生实现get和set访问器。 自动属性在编译之后,编译器会自动为我们生成两个对应的私有字段和两个对应的get和set方法,编译后的代码如图所示: 阅读全文
posted @ 2016-05-08 18:05 陌上荼靡 阅读(428) 评论(0) 推荐(0) 编辑