关键字:
  • Web、移动开发之ASP.Net:(8)ASP.Net网站安全防御及身份验证

    作者: king       发表时间: 2016-08-21 15:31
    1. 高级搜索与网站入侵 g.cn  (www.google.com.hk)   1.1 文件下载搜索 filetype   filetype:ppt 黑客  可搜索到关于黑客内容下载ppt的站点   1.2 搜索敏感目录 index of   index of / password index of / admin   "index of/" password "index of /" admin   1.3 与(空格)或(|)非(_) 精确搜索""      小军 小明|小红   小红_红色   "红客"   "黑客"...
  • Web、移动开发之ASP.Net:(6)MVC编程入门指南

    作者: king       发表时间: 2016-08-21 15:04
    1.MVC项目创建 1.1 新建一个ASP.NET Web应用程序项目 在VS2015中,通过文件 -> 新建 -> 项目,弹出新建项目窗体,如下图。在左侧模板选中Visual C#下的Web,右侧选中ASP.NET Web应用程序,窗体底部输入项目名称和解决方案名称,选择项目存放位置,点击下一步继续。 1.2 选择MVC模板 在弹出的选择模板窗体,选中MVC,点击确定即完成项目创建。 2.MVC路由 2.1 注册路由 打开项目根目录下的全局应用程序类Global.asax,可以看到在Application_Start中完成了路由的注册:RouteConfig.RegisterRoutes(RouteTable.Routes)。 路由注册方法只被Application_Start方法调用一次,静态方法、静态变量保证每次请求都能有效。 转到RouteConfig.RegisterRoutes,可以查看其内部的已经提供了一个默认的路由。 其中: name: &q...
  • Web、移动开发之ASP.Net:(5)WebForm(.aspx) (二)

    作者: king       发表时间: 2016-08-21 15:00
      3.1 Cookie:浏览器端实现状态保持 HTTP协议下的方式,就是在客户端保存客户端单独使用的数据,数据一定是可有可无的。 3.1.1 Cookie介绍     Cookie是一种能够让网站服务器把少量数据(4kb左右)储存到客户端的硬盘或内存,并且读取出来的一种技术。    当你浏览某网站时,由Web服务器放置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、浏览过的网页或者停留的时间等网站想要你保存的信息。当你再次通过浏览器访问该网站时,浏览器会自动将属于该网站的Cookie发送到服务器去,服务器通过读取Cookie,得知你的相关信息,就可以做出相应的动作。    开发场景:感兴趣的广告,最近浏览的商品,不用输入ID、密码就自动登录等等。(如果换了一天电脑,还有用户最近数据,是记录在服务器是数据库里面,关联用户)   网站相关(不同网站不共享Cookie文件数据) 浏览器相关(...
  • Web、移动开发之ASP.Net:(5)WebForm(.aspx) (一)

    作者: king       发表时间: 2016-08-21 15:00
    使用html ashx方式,每次输出网页用一般处理程序(ashx)将html替换在输出处理太麻烦了,所以一般生成html的时候都直接创建aspx(Web窗体,WebForm) aspx 对context做了进一步的封装,context.Request和context.Response 也被封装到Page类中,可以直接用Request和Response了。   关于Render方法 (输出给控件浏览器) 这不是事件;在处理的这个阶段,Page 对象会在每个控件上调用此方法。所有 ASP.NET Web 服务器控件都有一个用于写出发送给浏览器的控件标记的 Render 方法。   如果创建自定义控件,通常要重写此方法以输出控件的标记。不过,如果自定义控件只合并标准的 ASP.NET Web 服务器控件,不合并自定义标记,则不需要重写 Render 方法。 1. WebForm技术简介 1.1 WebForm处理程序文件 WebFrom页面处理程序分为以.aspx和aspx.cs为后缀的两个...
  • Web、移动开发之ASP.Net:(4)一般处理程序(.ashx)

    作者: king       发表时间: 2016-08-21 14:38
    1一般处理程序(HttpHandler) 1.1 关于IHttpHandler 接口 实现该接口需要为接口的ProcessRequest(HttpContext context)方法和IsReusable 属性提供实现。 namespace System.Web {     // 摘要: 定义 ASP.NET 为使用自定义 HTTP 处理程序同步处理 HTTP Web 请求而实现的协定。     public interface IHttpHandler     {         // 摘要:获取一个值,该值指示其他请求是否可以使用 System.Web.IHttpHandler 实例。         // 返回结果:如果 System...
  • Web、移动开发之ASP.Net:(3)ASP.Net原理

    作者: king       发表时间: 2016-08-21 14:22
    1.ASP.Net请求处理原理 Web开发就是Http请求 服务端处理 Http响应。ASP.Net Web开发就是基于ASP.Net技术对客户端请求进行处理和响应的开发。 1.1 ASP.NET技术简介 ASP.NET是一种动态网页技术,在服务器端运行.Net代码,动态生成HTML,然后响应给浏览器。    ASP.NET应用程序有主要有WebService(asmx)、WebForm(ashx、aspx)、MVC(Model, View , Controler)这几类。 ASP.NET里的常用文件分类如下: HttpApplication   .asax 继承了HttpApplication类,包含 ASP.NET 应用程序级事件,全局应用程序(Global.asax),对所有的请求生效。 HttpHandler和HttpModule能做的在HttpApplication中都能做,之所以做区分,是为了便于模块化管理,避免HttpApplicatio...
  • Web、移动开发之ASP.Net:(2)Http协议及Web服务原理

    作者: king       发表时间: 2016-08-21 13:57
    2、HTTP协议及Web服务器 HTTP协议内容:请求报文,响应报文,get和post请求方法等。 HTTP协议将socket原理和ASP.NET内部原理(基础是HttpHandler)串了起来。 承前:基于在socket聊天程序上的拓展,实现遵循HTTP协议的处理请求和进行响应的服务器程序。 启后:引出IHttpHandler接口,ProcessRequest方法,Request,Reponse,静态页面和动态页面处理等ASP.NET的重要概念以及基本原理(Web开发就是HTTP请求 Http响应)。 2.1 HTTP协议基础 2.1.0 HTTP、Tcp与Socket SOCKET与Tcp socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API), 通过Socket,我们才能使用TCP/IP协议。实际上,Socket跟TCP/IP协议没有必然的联系。 SOCKET连接与HTTP连接  由于通常情况下Socket连接就是TCP连接,因此Socket连接一旦建...
  • Web、移动开发之ASP.Net:(1)Socket通信及简易聊天程序

    作者: king       发表时间: 2016-08-21 13:22
    1、Socket通信及简易聊天程序 1.1 三级寻址 网络通信中通信的两个进程分别在不同的机器上。在互连网络中,两台机器可能位于不同的网络,这些网络通过网络互连设备(网关,网桥,路由器等)连接。因此需要通过三级寻址来访问网络上其他机器的应用程序: (1)协议:例如Tcp、FTP、Http协议等;(Http) (2)IP地址:某一主机可与多个网络相连,必须指定一特定网络地址;同IP下特定的计算机:网络上每一台主机应有其唯一的地址;(IP) (3)端口号:每一主机上的每一进程应有在该主机上的唯一标识符。(Port) 例如 http 使用80端口  ftp使用21端口 smtp 25端口   端口号:低端口号(默认)中端口号(系统随机分配的)高端口号(推荐用户使用的)   TCP和UDP比较: 传输视频或声音强调速度用UDP 如视频聊天, 发文件的时候,保证数据的完整和正确,用TCP。 UDP不是面向连接的,UDP传送数据前并不与对方建立连接,对接收到的数据也...
  • C#操作服务器(0):C#代码操作IIS的前置条件——安装 IIS 6.0 管理兼容性组件及赋予管理员权限

    作者: king       发表时间: 2015-08-08 12:11
       1. C#操作IIS对IIS环境的配置要求    如果使用到C#进行IIS站点的安装、卸载、更新等操作,请检查和完善IIS的配置    错误代码0x80005000,需启用“IIS 元数据库和IIS 6配置兼容性”。        安装 IIS 6.0 管理兼容性组件方法,根据操作系统不同,按以下对应方式安装:    方式1:针对Windows Server 2008 R2 或 Windows Server      依次单击“开始”、“管理工具”和“服务器管理器”。     在导航窗格...
  • C#操作服务器(1):C#检测是否安装IIS 、Aspnet以及Aspnet是否注册到IIS

    作者: king       发表时间: 2015-08-08 11:56
    本文系参考项目MSNET20的Campari.Software.Core库整理而来。 源码下载地址:http://www.51aspx.com/Code/MSNET20。 using Microsoft.Win32; using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Text; namespace Kinglong.App.Tools { public class IISDetect { const string IISStpRegKeyName = "Software\\Microsoft\\InetStp"; const string IISStpRegKeyValue = "MajorVersion"; const string Netfx30StpRegKeyName =...
  • AppDomain.CurrentDomain.AssemblyResolve事件 控制运行时重新指定程序集路径加载dll文件

    作者: king       发表时间: 2015-08-08 10:06
    有时候,需要将被引用的程序集放到单独的目录统一维护(如更新等),提供给多个项目使用到这些程序集。 我们知道,项目在添加了对程序集的引用后,编译时通常会将引用的程序集一起生成到bin或release目录。现在为了统一管理,我们把这些要引用的程序集放到一个公共的目录,供多个项目使用,同时我们移除掉bin或release目录下的这些dll文件。默认情况下,程序运行过程中需要加载一个程序集,会先后从系统目录和程序运行目录查找要加载的dll文件,如果都没有查找到,将会抛出一个异常:System.IO.FileNotFoundException: 未能加载文件或程序集“Accessibility, Version=x.x.x.x, Culture=neutral, PublicKeyToken=xxxxxx”或它的某一个依赖项。系统找不到指定的文件。 现在我们通过注册AppDomain.CurrentDomain.AssemblyResolve事件,在事件处理程序中根据args.Name和我们指定的目录重新构建dll文件路径,加载程序集并返回。这样实现在程序...
  • WCF响应超时、序列化出错报错处理及配置

    作者: king       发表时间: 2015-07-24 01:05
    1、接收对 http://xxx.svc 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。      这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致。有关详细信息,请参阅服务器日志。 原因1:WCF服务返回数据记录较多,超出默认设置大小。 解决:在WCF服务端的配置文件中将maxItemsInObjectGraph配置项设置为2147483647,具体位置及配置示例如下:    <system.serviceModel>       <behaviors>           <serviceBehaviors>                ...
  • C#接收WCF返回接口类型的数组数据并转换为具体类型数组

    作者: king       发表时间: 2015-07-23 23:48
    object类型的数组在转换为基元类型数组或用户自定义类型数组时,不能像单个对象的转换一样使用as语法或者强制转换。除了通过for循环遍历处理,还有一种比较简洁的处理方法,即使用linq语法的Select方法并在lambda表达式中完成转换,然后使用ToArray()得到数组。以下是一个调用WCF应用场景的实例:   假设AComputer是实现了接口IComputer的类, IHardWareService是提供硬件设备信息的服务接口,其中的GetComputerList操作返回接口类型的集合数据。在AHardWareService服务中实现了 IHardWareService中的GetComputerList(),但是注意数组中每一项是将AComputer类型的实例赋值给了IComputer类型的变量。   [ServiceContract] public interface IHardWareService {     [OperationContract]   ...
  • Asp.Net面试题汇集

    作者: king       发表时间: 2015-02-26 17:36
    以下面是面试中经历的真实面试题(非笔试),现整理出来分享一下。答案是根据本人理解整理,仅供参考。 1.谈谈你对结构体与类的理解 考察点:继承性与数据类型的关系、声明和使用的规则。 可简要从以下3个方面回答: 1) 继承性:类可以被继承或从其他的类继承,结构不能从结构或类继承。   最好补充说明以体现自己理解的深入:这是他们的数据类型决定的,类是引用类型,而结构是值类型,是不能被继承的。 2)定义:定义结构时不能显示的声明无参构造函数或析构函数。  定义类可以显示的声明无参构造方法或析构方法。(而且在声明了有参构造方法后,应该显示的声明无参构造方法,以免覆盖默认的无参构造方法。)     不能在定义结构时初始化实例字段。而类定义成员可以直接初始化,其效果相当于在类的每个构造函数的代码前面,都加入一句初始化代码。 3)使用:结构使用前必须对所有字段赋初值;而类的或类的对象,其成员会有默认值。 2. 简单工厂模式和工厂方法...
  • C#发送Http请求的类库封装及应用

    作者: king       发表时间: 2014-12-20 19:11
    一、C#发送Http请求的类库封装 很多时候,使用C#发送Http请求,可以给编程带来很多便利。通过以下封装的方法,可以很方便的向Aspnet中的一般处理程序、WebService、WebAPI、WCF等服务发送Http请求。可以根据需要发送Get请求或post请求,使用返回的字符串结果实现相关的功能。当然,也适用.Net工程中对PHP和Jsp服务的请求。 以下是封装好的Http请求的工具类。 public class HttpRequestHelper     {         /// <summary>         /// Send Http request by get method ...