随笔分类 - ASP.NET

ASP.NET技术(含WebForm、MVC)
摘要: 问题描述:win10 下无法安装VS2017,visual studio installer下载进度始终为0,点击取消按钮后,也没有反应,visual studio installer也关闭不掉; 具体问题详见 博问:https://q.cnblogs.com/q/106027/ 微软问题:http阅读全文
posted @ 2018-05-06 13:02 梦在旅途 阅读(4047) | 评论 (2) 编辑
摘要: 一些小的C/S项目(winform、WPF等),因需要访问操作数据库,但又不能把DB连接配置在客户端上,原因有很多,可能是DB连接无法直接访问,或客户端不想安装各种DB访问组件,或DB连接不想暴露在客户端(即使加密连接字符串仍有可能被破解的情况),总之都是出于安全考虑,同时因项目小,也无需采用分布式阅读全文
posted @ 2017-12-14 22:56 梦在旅途 阅读(2010) | 评论 (1) 编辑
摘要: 很久之前发表过一篇名为《通过三个DEMO学会SignalR的三种实现方式》的文章,在那篇文章里面详细介绍了在WEB应用下的常用SignalR实现方法,而今天我们来利用SignalR来实现其它的一些用法,比如:B/S 与 C/S互相通讯,比如:C/S与C/S通讯。 一、B/S 与 C/S互相通讯(AS阅读全文
posted @ 2017-08-18 19:46 梦在旅途 阅读(654) | 评论 (2) 编辑
摘要: 文件同步传输工具比较多,传输的方式也比较多,比如:FTP、共享、HTTP等,我这里要讲的就是基于HTTP协议的WEB API实现批量文件由一个服务器同步快速传输到其它多个服务器这样的一个工具(简称:一端到多端的文件同步工具) 一、设计原理: 1.使用的技术:WinForm、WebApi 1.1 Wi阅读全文
posted @ 2016-12-15 20:27 梦在旅途 阅读(4801) | 评论 (9) 编辑
摘要: 一、理解SignalR ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息及调用方法),SignalR有三种传输模式:LongLooping(长轮询)、WebSocket(H阅读全文
posted @ 2016-07-21 15:09 梦在旅途 阅读(24148) | 评论 (13) 编辑
摘要: 一、什么是特性路由? 特性路由是指将RouteAttribute或自定义继承自RouteAttribute的特性类标记在控制器或ACTION上,同时指定路由Url字符串,从而实现路由映射,相比之前的通过Routes.Add或Routes.MapHttpRoute来讲,更加灵活与直观。 若要使用特性路阅读全文
posted @ 2016-03-13 21:55 梦在旅途 阅读(7552) | 评论 (11) 编辑
摘要: 之前先后总结并发表了关于WEB Service、WCF身份验证相关文章,如下:关于WEB Service&WCF&WebApi实现身份验证之WEB Service篇、关于WEB Service&WCF&WebApi实现身份验证之WCF篇(1)、关于WEB Service&WCF&WebApi实现身份...阅读全文
posted @ 2016-01-20 15:27 梦在旅途 阅读(4688) | 评论 (7) 编辑
摘要: WCF身份验证一般常见的方式有:自定义用户名及密码验证、X509证书验证、ASP.NET成员资格(membership)验证、SOAP Header验证、Windows集成验证、WCF身份验证服务(AuthenticationService),这些验证方式其实网上都有相关的介绍文章,我这里算是一个总...阅读全文
posted @ 2015-12-06 19:08 梦在旅途 阅读(1890) | 评论 (5) 编辑
摘要: 实现网页版的在线聊天室的方法有很多,在没有来到HTML5之前,常见的有:定时轮询、长连接+长轮询、基于第三方插件(如FLASH的Socket),而如果是HTML5,则比较简单,可以直接使用WebSocket,当然HTML5目前在PC端并没有被所有浏览器支持,所以我的这个聊天室仍是基于长连接+长轮询+...阅读全文
posted @ 2015-11-21 16:08 梦在旅途 阅读(12762) | 评论 (13) 编辑
摘要: 在这个WEB API横行的时代,讲WEB Service技术却实显得有些过时了,过时的技术并不代表无用武之地,有些地方也还是可以继续用他的,我之所以会讲解WEB Service,源于我最近面试时被问到相关问题,我这里只是重新复习一下并总结一下,给新手们指指路,大牛们可以无视之,当然不足之处还请大家指...阅读全文
posted @ 2015-11-20 19:10 梦在旅途 阅读(2393) | 评论 (7) 编辑
摘要: 一个网站的主题包括布局,色调,内容展示等,每种主题在某些方面应该或多或少不一样的,否则就不能称之为不同的主题了。每一个网站至少都有一个主题,我这里称之为默认主题,也就是我们平常开发设计网站时的一个固定布局,固定色调,固定内容展示等构成一个默认的固定主题。单一主题针对一些小网站或网站用户群体相对单一固...阅读全文
posted @ 2015-11-19 16:06 梦在旅途 阅读(4443) | 评论 (9) 编辑
摘要: 这几天利用空闲时间,我将ASP.NET反编译后的源代码并结合园子里几位大侠的写的文章认真的看了一遍,收获颇丰,同时也摘要了一些学习内容,存入了该篇文章:《ASP.NET运行机制图解》,在对整个ASP.NET的运行机制有所了解后,我又对MVC的运行机制也进行了源码分析,因为网上已经有很多的关于MVC实...阅读全文
posted @ 2015-11-12 16:07 梦在旅途 阅读(4706) | 评论 (4) 编辑
摘要: 导出EXCEL方法总结MVC导出数据到EXCEL的方法有很多种,常见的是:1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可;优点:可设置丰富的EXCEL格式,缺点:需要依赖EXCEL组件,且EXCEL进程在服务器中无法及时关闭,以及服务器上会存留大量的不...阅读全文
posted @ 2015-09-29 13:06 梦在旅途 阅读(1086) | 评论 (2) 编辑
摘要: 一、实现Controller的依赖注入:1.自定义继承DefaultControllerFactory 类的控制器工厂类并重写GetControllerInstance方法;(如:InjectControllerFactory)2.在Global.asax文件中的Application_Start方...阅读全文
posted @ 2015-08-31 17:12 梦在旅途 阅读(2410) | 评论 (1) 编辑
摘要: 一、URL Routing 1.添加URL路由映射的一般方法(在RegisterRoutes方法中添加): 2.自定义路由约束:通过实现 IRouteConstraint 接口来定义自己的路由约束规则 3.Area注册的路由与Global注册的路由发生冲突解决方案:为Global注册的路由指定命名空阅读全文
posted @ 2015-08-28 18:26 梦在旅途 阅读(585) | 评论 (0) 编辑
摘要: 第一种方法:采用MS现有的ConfigurationManager来进行读写using System.Configuration;namespace Zwj.TEMS.Common{ public abstract class ConfigHelper { private ...阅读全文
posted @ 2015-04-07 17:18 梦在旅途 阅读(634) | 评论 (0) 编辑
摘要: 读取或生成EXCEL数据的方法有很多,一般常见的有: 1.通过OFFICE EXCEL组件,优点:读取与生成EXCEL文件方便,缺点:服务器上必须安装OFFICE软件,且进程无法及时释放 2.通过第三方组件(比如:NPOI),优点:无需安装OFFICE软件,缺点:需要引入第三方组件,当然这个还是比较强的 3.通过把EXCEL当成数据库,连接后运用SQL语句读取,写入的话就自行拼接成HTML表格,优点:无需另外的组件,缺点:需要会SQL及拼接HTML表格较麻烦;阅读全文
posted @ 2015-01-12 17:16 梦在旅途 阅读(1812) | 评论 (2) 编辑
摘要: 最近一直用ASP.NET MVC 4.0 +LINQ TO SQL来开发设计公司内部多个业务系统网站,在这其中发现了一些问题,也花了不少时间来查找相关资料或请教高人,最终都还算解决了,现在我将这些问题及对应的解决方案都整理汇总出来,供大家参供,有不对之处或有更好的解决办法,欢迎在本文评论,谢谢! 问题一:执行类似语句:dbDataContext.TableName.Join(modelList as List<实体对象类型>,t1=>t1.id,t2=>t2.id,(t1,t2)=>new{属性赋值}),报错:不能在查询运算符(Contains 运算符除外)的 LINQ to SQL 实现中使用本地序列。 原因分析:数据表映射实体对象无法与C#自有集合对象关联查询,必需确保LINQ 语句进行查询与运算均为数据表映射实体对象或C#自有集合对象 解决方案:dbDataContext.TableName.Join(dbDataContext.TableName2,t1=>t1.id,t2=>t2.id,(t1,t2)=>new{属性赋值}),或dbDataContext.T阅读全文
posted @ 2014-12-02 13:45 梦在旅途 阅读(1892) | 评论 (2) 编辑
摘要: 第1到3题解答如下: public enum QuestionType { Text = 0, MultipleChoice = 1 } public interface IQuestion { string Title { get; set; } QuestionType Category { get; } } public abstract class QuestionBase : IQuestion { public string Title { get; set; } public abstract QuestionType Category { get; } public virtual string GetAnswer() { return "默认答案"; } } public阅读全文
posted @ 2014-11-24 12:43 梦在旅途 阅读(606) | 评论 (4) 编辑
摘要: 这里解析key的方式是寻找parameterName[index].Key这样的结构、解析value的方式是寻找parameterName[index].Value这样的结构。如果key或者value是复杂类型(如上面例子中的Information类型),则parameterName[index].Key或parameterName[index].value将被视为前缀(也可以理解为某个类型)而.PropertyName被视为后缀(即某个属性)。这里的索引也要求必须是以0开始的不间断的正整数。否则断开以后的部分将不会被解析。 构建IEnumerable, ICollection, IList, T[], Collection, 以及 List这类集合类型需要使用第一种语法。 而构建IDictionary 和 Dictionary这类集合需要使用第二种语法。 如果你不喜欢这种方式,你完全可以在Asp.net mvc中自定义一些binder来处理特定的类型。或者直接使用FormCollection。阅读全文
posted @ 2014-11-12 17:17 梦在旅途 阅读(314) | 评论 (0) 编辑
摘要: 实现自动生成序号的方法很多,最常见的是通过添加GridView1_RowDataBound方法,然后在里面依据实际情况计算序号,我这人希望能越简单且越好用就最好了,所以我采用了上面的方法,核心代码是:(Container.DataItemIndex + GridView1.PageIndex+1),其中Container.DataItemIndex表示当前行索引,GridView1.PageIndex表示页索引,由于索引是从0开始,所以加上1就OK了,这样整个表就有序号了,而且在分页下也是连续性的,不会出现每页从1开始的情况。阅读全文
posted @ 2014-11-07 13:13 梦在旅途 阅读(1029) | 评论 (0) 编辑
摘要: 1.1.WebForm优点   1)支持事件模型开发,得益于丰富的服务端组件,WebForm开发可以迅速的搭建Web应用   2)使用方便,入门容易 2.1.MVC优点 1)很容易将复杂的应用分成M,V,C三个组件模型,通过Model,View和Controller有效的简化了复杂的架构, 体现了很好的隔离原则   2)因为没有使用Server-Based forms。所以我们程序员控制的更加灵活,页面更加干净。   3)通过修改路由规则,可以控制生成自定义的url,因此控制生成seo友好的url将更加容易。 4)强类型的view实现,更安全,更可靠,更高效。   5)让web开发可以专注于某一层,更利于分工配合使用与大型架构开发   6)对异步处理提更好的支持   7)校验非常高   8)表单提交的时候,提供自动装配的功能    9)微软提供的全局的过滤器 10)可扩展性 11)易测试性阅读全文
posted @ 2014-11-07 11:15 梦在旅途 阅读(417) | 评论 (1) 编辑
摘要: 我之前就已经实现了ASP.NET MVC分页(查看该博文),但它有局限性,必须确保在同一个视图中只能有一处分页,若需要在同一个视图中设置多个分页,却无能为力,为此,我重新对原先的代码进行了优化,增加了更为灵活的配置属性及生成规则,解决了上述问题.阅读全文
posted @ 2014-10-23 12:10 梦在旅途 阅读(1109) | 评论 (10) 编辑
摘要: 方法一:通过Request.Form 方法二:通过映射到FormCollection 方法三:通过映射到控制器方法参数 方法四:通过映射到视图数据对象 方法五:通过调用UpdateModel方法阅读全文
posted @ 2014-10-22 15:31 梦在旅途 阅读(2381) | 评论 (0) 编辑
摘要: 第一种:通过FTP来上传文件 首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了 第二种:通过WebClient来上传文件 声明WebClient,然后通过OpenWriteCompletedEventHandler事件中读取上传文件流实现上传 第三种:通过Web Service来上传文件(与第二种其实原理有些相同) 定义Web Service类,并在另一个网站引用该服务,然后调用WEB服务类的上传与下载方法即可; 第四种:通过页面跳转或嵌套页面的方式(这种方法很简单,严格不算跨服务器,且有一定的局限性) 1.在需要上传文件的页面加入iframe,iframe的地址指向另一个服务器上传页面,并且页面需包含上传按钮; 2.需要上传时就利用JS的location.href或服务端的Response.redirect跳转至另一个服务器上传页面;阅读全文
posted @ 2014-09-29 11:13 梦在旅途 阅读(4464) | 评论 (2) 编辑
摘要: 第一种:同主域但不同子域之间实现单点登陆 Form验证其实是基于身份cookie的验证。客户登陆后,生成一个包含用户身份信息(包含一个ticket)的cookie,这个cookie的名字就是在web.config里Authentication节form设定的name信息,如 这里,.ASPNETAUTH就是这个Cookie的名字。通过在Request.Cookies集合里包含这个cookie,实现用户身份信息的传递。所以,共享身份验证信息的思路很简单:只要这个身份验证cookie能在自域名中共享,Form验证信息自然可以共享!阅读全文
posted @ 2014-09-06 11:46 梦在旅途 阅读(490) | 评论 (0) 编辑
摘要: ASP.NET MVC中不能使用分页控件,所以我就自己写了一个分页局部视图,配合PageInfo类,即可实现在任何页面任意位置呈现分页,由于采用的是基于POST分页方式,所以唯一的限制就是必须放在FORM中,当然以后我会考虑实现基于URL分页的!阅读全文
posted @ 2014-08-26 12:51 梦在旅途 阅读(847) | 评论 (0) 编辑
摘要: 1.报错:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理 解决方案地址:http://blog.csdn.net/canielau/article/details/7609613 2.报错:您要找的资源已被删除、已更名或暂时不可用。 解决方案地址:http://www.cnblogs.com/paulxie/archive/2013/06/08/3127234.html阅读全文
posted @ 2014-05-13 12:55 梦在旅途 阅读(118) | 评论 (0) 编辑
摘要: 1.IIS7配置URL重写需要注意系统是32位还是64位的 2.IIS7 asp.net URL重写配置 3.从IIS6移植到IIS7,URL重写后报错检测到在集成的托管管道模式下不适用的 ASP.NET 设置。阅读全文
posted @ 2014-05-13 11:41 梦在旅途 阅读(376) | 评论 (0) 编辑
摘要: ASP.NET高并发解决方案 一、页面静态化; 二、运用WCF,WEB SERVICE等技术实现分布式业务逻辑处理及数据访问的能力; 三、页面缓存; 四、数据缓存; 五、建立图片文件服务器;阅读全文
posted @ 2014-02-25 16:47 梦在旅途 阅读(682) | 评论 (3) 编辑
摘要: 通过JavaScriptSerializer来实现。它的名字空间为:System.Web.Script.Serialization 如果要使用它,还须添加 System.Web.Extensions库文件引用 参考实体类:Customer public class Customer { public int Unid { get; set; } public string CustomerName { get; set; } } 类JavaScriptSerializer描述:为启用 AFAX 的应用程序提供序列化和反序列化功能。阅读全文
posted @ 2013-12-13 15:21 梦在旅途 阅读(1712) | 评论 (0) 编辑
摘要: Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验 证用的最多,也最灵活。 Forms 验证方式对基于用户的验证授权提供了很好的支持,可以通过一个登录页面验证 用户的身份,将此用户的身份发回到客户端的Cookie,之后此用户再访问这个web应用就 会连同这个身份Cookie一起发送到服务端。服务端上的授权设置就可以根据不同目录对不 同用户的访问授权进行控制了。阅读全文
posted @ 2013-12-13 15:15 梦在旅途 阅读(479) | 评论 (0) 编辑
摘要: NVelocity常用语法指令 默认情况下,NVelocity解析是不分大小写的,当然可以通过设置runtime.strict.math=true,采用严格解析模式。严格区分大小写有时候还是挺有用途的。如果在模板文件中有这样的包含文件,发布改模板的时候,就会提示#include后面没有括弧()的错误。因为在NVelocity中,有#include("abc.html")这样的指令。如果我们将include改为Include就不会报错了。对变量的引用:$ [ ! ][ { ][ a..z, A..Z ][ a..z, A..Z, 0..9, -, _ ][ } ]。 在NVelocity中,对变量的引用都是以$开头加上变量名称。当使用!时表示当此变量值为空时,显示空字符串。比如当$article为空,那会显示“$article“,而$!article会显示为“”。{}为变量名称限定,有时候变量名称后会有字符串,这是就需要用到{}了。比如$articleshow,想引用$article,这时只要修改为${articl阅读全文
posted @ 2013-09-10 15:03 梦在旅途 阅读(253) | 评论 (0) 编辑
摘要: Response.ContentType = "application/x-zip-compressed"; Response.AddHeader("Content-Disposition", "attachment;filename=z.zip"); string filename = Server.MapPath("DownLoad/aaa.zip"); Response.TransmitFile(filename); }阅读全文
posted @ 2013-04-17 22:53 梦在旅途 阅读(2084) | 评论 (0) 编辑
摘要: 啥叫异步,啥叫Ajax.咱不谈啥XMLHTTPRequest.通俗讲异步就是前台页面javascript能调用后台方法.这样就达到了无刷新.所谓的Ajax.这里我们讲二种方法 方法一:(微软有自带Ajax框架) 在Asp.net里微软有自己的Ajax框架.就是在页面后台.cs文件里引入 using System.Web.Services 空间 然后定义静态方法(方法前加上 [WebMethod]) [WebMethod] public static string ABC(string ABC) { return ABC; } 好了,现在我们谈谈前台Js怎么处理后台返回的数据吧,可利用Jquery处理返回的纯html,json,Xml等数据.这里我们演示返回返回的数据有string、集合(List<>)、类. 但都返回Json格式阅读全文
posted @ 2013-01-06 22:17 梦在旅途 阅读(1071) | 评论 (0) 编辑
摘要: GetValid.aspx (可以直接将该页面作为源赋值给ImageUrl) using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Text; using System.Drawing;阅读全文
posted @ 2012-12-20 18:51 梦在旅途 阅读(132) | 评论 (0) 编辑
摘要: 第一种方法:使用CDOSYS 第二种方法:使用LOTUS组件阅读全文
posted @ 2012-12-08 12:03 梦在旅途 阅读(345) | 评论 (0) 编辑
摘要: asp.net里导出excel表方法汇总 public void ToExcel(System.Web.UI.Control ctl) { HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls"); HttpContext.Current.Response.Charset ="UTF-8"; HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default; HttpContext.Current.Response.ContentType ="application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword ctl.Page.EnableViewState =false; System.IO.Stri阅读全文
posted @ 2012-12-08 11:52 梦在旅途 阅读(499) | 评论 (1) 编辑
摘要: ASP.NET 网站开发日常异常总汇阅读全文
posted @ 2012-12-08 11:48 梦在旅途 阅读(567) | 评论 (1) 编辑