12 2012 档案
摘要:HTML生成PDF(c#)Calling wkhtmltopdf to generate PDF from HTML老外最多人加分的那篇做法,使用wkhtmtopdf(GPL协议)可以省很多程序代码, 首先到官网http://code.google.com/p/wkhtmltopdf/downloads/list找installer.exe下载wkhtmltopdf,一个集成好了的exe文件(C++编写),基本的调用方法是, wkhtmltopdf.exehttp://passport.yupsky.com/account/register e:\yupskyreg.pdf,可以先在命令行测试
阅读全文
摘要:在Asp.net MVC controller的底层,常常有提到repository和service layer, 好像都是逻辑相关的层,那么它们到底是什么区别呢?简单的说:repository就是一个管理数据持久层的,它负责数据的CRUD(Create, Read, Update, Delete)service layer是业务逻辑层,它常常需要访问repository层,但是它不关心数据是如何获取和存储的。来发现很多ASP.NET MVC的例子中都使用了Repository模式,比如Oxite,ScottGu最近发布的免费的ASP.NET MVC教程都使用了该模式。就简单看了下。在《企业架
阅读全文
摘要:在上篇文章中和大家一起学习了建立基本的WebAPI应用,立刻就有人想到了一些问题:1.客户端和WebService之间文件传输2.客户端或者服务端的安全控制要解决这些问题,要了解一下WebAPI的基本工作方式。(一)WebAPI中工作的Class在MVC中大家都知道,获取Request和Response使用HttpRequest和HttpResponse两个类,在WebAPI中使用两外两个类:HttpRequestMessage 和HttpResponseMessage,分别用于封装Requset和Response。除了这两个类之外,还有一个常见的抽象类:HttpMessageHandler,
阅读全文
摘要:http://stackoverflow.com/questions/10660721/what-is-the-difference-between-httpresponsemessage-and-httpresponseexception
阅读全文
摘要:http://www.prideparrot.com/blog/archive/2012/8/uploading_and_returning_files
阅读全文
摘要:http://stackoverflow.com/questions/10861568/asmx-web-service-basic-authentication//-----------------------------------------------------public class BasicAuthHttpModule:IHttpModule{ voidIHttpModule.Init(HttpApplication context) { context.AuthenticateRequest+=newEventHandler(OnAuthenticateRequest); }
阅读全文
摘要:publicclassUserAuthenticator:IHttpModule{ publicvoidDispose() { } publicvoidInit(HttpApplication application) { application.AuthenticateRequest+=newEventHandler(this.OnAuthenticateRequest); application.EndRequest+=newEventHandler(this.OnEndRequest); } publicvoidOnAuthenticateRequest(object source,Ev
阅读全文
摘要:什么是HTTP Basic Authentication?在wiki上有详细的解释: http://en.wikipedia.org/wiki/Basic_authentication_schemeHTTP Basic Authentication是一个定义在HTTP/1.1规范中的验证机制。这种机制是以用户名和密码为基础的。一个web server要求一个web client去验证一个用户。作为request的一部分,web server 传递被称之为realm的字符串,用户就是在它里面被验证的。注意:Basic Authentication机制的realm字符串不一定反映任何一种安全方针域
阅读全文
摘要:http://www.cnblogs.com/yingzi/archive/2012/03/13/2394809.htmlHTTP请求格式当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成:l请求方法URI协议/版本l请求头(Request Header)l请求正文下面是一个HTTP请求的例子:GET/sample.jspHTTP/1.1Accept:image/gif.image/jpeg,*/*Accept-Language:zh-cnConnection:Keep-AliveHost:localhostUser-Agent:Mozi
阅读全文
摘要:不同于之前的HttpWebRequest类型,在.NET 4.5中新的HttpRequestHeaders类型直接有一个Authorization属性,对应类型是:AuthenticationHeaderValue,同样在System.Net.Http.Headers命名空间内。AuthenticationHeaderValue有两个属性Parameter和Scheme。为了弄清这两个参数在对Authorization属性的作用,我们可以做一个简单的测试:首先得记得加入.NET 4.5中HttpClient相应的命名空间://+ using System.Net.Http;//+ using
阅读全文
摘要:Implementing Basic Authentication in ASP.NET 2.0ByAdministrator27. 八月 2008 20:35I have many times wanted to implement basic authentication in asp.net applications, but has been unwilling to use the built in basic authentication of IIS, since I think its a bother to use either the Windows machine'
阅读全文
摘要:var http = require('http');var server = http.createServer(function(req, res) {// console.log(req); // debug dump the request// If they pass in a basic auth credential it'll be in a header called "Authorization" (note NodeJS lowercases the names of headers in its request object)
阅读全文
摘要:HTTP使用BASIC认证的原理及实现方法上一篇/下一篇2011-10-19 15:56:15 / 个人分类:java查看( 4555 )/评论( 5 )/评分(10/0)一.BASIC认证概述在HTTP协议进行通信的过程中,HTTP协议定义了基本认证过程以允许HTTP服务器对WEB浏览器进行用户身份证的方法,当一个客户端向HTTP服务器进行数据请求时,如果客户端未被认证,则HTTP服务器将通过基本认证过程对客户端的用户名及密码进行验证,以决定用户是否合法。客户端在接收到HTTP服务器的身份认证要求后,会提示用户输入用户名及密码,然后将用户名及密码以BASE64加密,加密后的密文将附加于请求信
阅读全文
摘要:BasicAuthMessageHandler1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950publicclassBasicAuthMessageHandler:DelegatingHandler{privateconststringBasicAuthResponseHeader="WWW-Authenticate";privateconststringBasicAuthResponseHeaderValue="Basic&quo
阅读全文
摘要:using System;using System.Net;using System.Security.Cryptography;using System.Security.Cryptography.X509Certificates;using System.Security.Principal;using System.ServiceModel.Channels;using System.Threading;using System.Web.Http;using System.Web.Http.Controllers;using System.Web.Http.Filters;using D
阅读全文
摘要:http://stackoverflow.com/questions/11135473/how-to-use-an-authorized-username-in-other-controllershttp://stackoverflow.com/questions/12227495/httpactioncontext-request-headers-authorization-is-null//----------------------------------------------------------------------------------Posted on June 10,
阅读全文
摘要:使用asp.net mvc3的Filter模拟实现http basic Authentication近段时间,在编写一个淘宝家园的手机客户端,需要一个配套的api提供服务,使用http basic验证来确认用户。在iis7上架了一个api的测试站点,iis默认的http basic 验证需要和windows的用户绑定在一起,无法将用户认证和业务数据中的用户进行对应关联。查询相关资料后,准备使用mvc的filter模拟实现http basic authentication,也方便在实现api时对验证和非验证的调整。1.vs2010中建立asp.net mvc3 web项目2.添加用户验证filt
阅读全文
摘要:Asp.net MVC中Controller返回值类型在mvc中所有的controller类都必须使用"Controller"后缀来命名并且对Action也有一定的要求:必须是一个public方法必须是实例方法没有标志NonActionAttribute特性的(NoAction)不能被重载必须返回ActionResult类型如:[csharp]view plaincopypublicclassMyController:Controller{//必须返回ActionResult类型publicActionResultHelloWorld(){ViewData["Me
阅读全文
摘要:http://blogs.msdn.com/b/scottgu/archive/2011/05/23/asp-net-mvc-3-razor-helper.aspxhttp://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspxhttp://blog.joycode.com/scottgu/archives/2010/12/30/116202.joyASP.NET MVC 3: Razor中的@:和语法By devdivchina | Published
阅读全文
摘要:ASP.NET MVC 3:缓存功能的设计问题2011年12月19日16:14来源:博客作者:陈希章 编辑:苏巧红评论:0条 【IT168技术】今天这一篇文章我来谈一谈在MVC 3项目中的缓存功能,以及针对缓存的一些设计上的考量,给大家参考参考。 为什么需要讨论缓存?缓存是一个中大型系统所必须考虑的问题。为了避免每次请求都去访问后台的资源(例如数据库),我们一般会考虑将一些更新不是很频繁的,可以重用的数据,通过一定的方式临时地保存起来,后续的请求根据情况可以直接访问这些保存起来的数据。这种机制就是所谓的缓存机制。 根据缓存的位置不同,可以区分为: ①客户端缓存(缓存在用户的客户端,例如...
阅读全文
摘要:Creating a REST service using ASP.NET Web APIByAfter2050,13 Sep 20124.33(3 votes)IntroductionA service that is created based upon the architecture ofRESTis called as REST service. Although REST looks more inclined to web and HTTP its principles can be applied to other distributed communication syste
阅读全文
摘要:public Task Get(int id){ var task = _taskRepository.Get(id); if (task == null) { throw new HttpResponseException(new HttpResponseMessage { StatusCode = HttpStatusCode.NotFound, Content = new StringContent("Task not found") }); } return task;}public Task Put(Task task){ try { task = _taskRe
阅读全文
摘要:https://packages.nuget.org/packages
阅读全文
摘要:ASP.NET MVC3使用PagedList实现分页导航九月 3, 2012分页导航功能在Web应用中再常见不过了,本文介绍了近期项目开发过程中如何利用PagedList库实现数据条目的分页导航功能,项目其实很简单,就是实现一个简单的内容管理系统,具备增删改查的功能,采用了ASP.NET MVC3技术。使用NuGet包管理器,具体做法:右键项目的References => Manage NuGet Packages => 搜索PagedList安装。这里需要下载两个DLL,分别是PagedList.dll和PagedList.Mvc.dll,其中PagedList适用MVC2框架
阅读全文
摘要:if(Request.Content.IsMimeMultipartContent()){ var streamProvider =newMultipartMemoryStreamProvider(); var task =Request.Content.ReadAsMultipartAsync(streamProvider).ContinueWith(t =>//上传多个文件 { foreach(var item in streamProvider.Contents) { //do something }});public class UploadFileController : Ap
阅读全文
摘要:关于MVC4.0 WebAPI上传图片重命名以及图文结合MVC4.0 WebAPI上传后的图片默认以字符串bodypart结合Guid来命名,且没有文件后缀,为解决上传图片重命名以及图文结合发布的问题,在实体对象的处理上,可将图片属性定义为byte[]对象,至于图片的重命名,通过重写继承MultipartFormDataStreamProvider类来解决!参照API的官方文档,上传文件代码大致如下:public Task<HttpResponseMessage> PostFile() { HttpRequestMessage request = this....
阅读全文
摘要:介绍 asp.net mvc 之 asp.net mvc 4.0 新特性之 Web API自宿主 web api宿主到 iis,通过 WebForm 提供 web api 服务通过 Web API 上传文件.net 4.5 带来的更方便的异步操作示例 1、自宿主 Web API 的 demo WebApiSelfHost/Program.cs/* * 自宿主 web api 的 demo * * 测试地址:http://localhost:123/api/hello */using System;using System.Collections.Generic;using System.Li.
阅读全文
摘要:作者:webabcd 介绍 asp.net mvc 之 asp.net mvc 4.0 新特性之 Web API开发一个 CRUD 的 Demo,服务端用 Web API,并使其支持 jsonp 协议,客户端用 jQuery示例 1、自定义一个 JsonMediaTypeFormatter,以支持 jsonp 协议 MyJsonFormatter.cs/* * 自定义一个 JsonMediaTypeFormatter,以支持 jsonp 协议 */using System;using System.Collections.Generic;using System.IO;using System
阅读全文
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Web.Mvc.Ajax;using System.IO;namespace MVC.Controllers{ /**/ /// <summary> /// Controller 类必须以字符串 "Controller" 做类名称的结尾,字符串 Controller 之前的字符串为 Controller 的名称,类中的方法名为 Acti
阅读全文
摘要:在 Controller 中我们可以使用 FileResult 向客户端发送文件。FileResultFileResult 是一个抽象类,继承自 ActionResult。在 System.Web.Mvc.dll 中,它有如上三个子类,分别以不同的方式向客户端发送文件。在实际使用中我们通常不需要直接实例化一个 FileResult 的子类,因为 Controller 类已经提供了六个 File 方法来简化我们的操作:protected internal FilePathResult File(string fileName, string contentType);protected inte
阅读全文
摘要:使用ASP.NET WEB API文档来上传异步文件原文作者:Henrik F Nielsen HTML窗体文件上传(在RFC1867中定义)是经典的上传内容到Web服务器机制,同时我知道的所有浏览器都支持它。这个博客展示了在ASP.NET Web API文档中,如何通过使用.NET 4和增强版的.NET4.5基于任务模式,来处理窗体文件的上传。 在使用ASP.NET Web API文档时,你可以通过托管来上传任意大小的文件。ASP.NET对于你上传的文件大小不能超过2G。 什么是HTML文件上传? 首先提醒自己的是HTML文件上传是什么。如果你不需要修改HTML上传文件,那么你可以跳过...
阅读全文
摘要:asp.net mvc3局部页面使用方法详细说明:1.模板页:@RenderBody()占位符在模板页中加入@RenderBody()占位符,@RenderBody()所站的位置就是需要填充的内容的位置。如果想要应用模板页,须向内容页加入@{ Layout = "~/Views/Shared/_LogOnPartial.cshtml"; }~/Views/Shared/_LogOnPartial.cshtml为模板页位置,也可在配置默认值。2.局部页面:@RenderPage()需要调用局部页面的加入@RenderPage("~/Views/Home/_ViewP
阅读全文
摘要:[TestClass] publicclassSampleTests { privateHttpSelfHostServer server =null; privatestring baseAddress =null; //Use TestInitialize to run code before running each test [TestInitialize()] publicvoidMyTestInitialize() { baseAddress =string.Format("http://{0}:9090",Environment.MachineName); .
阅读全文
摘要:public void SetUp() { var config =newHttpSelfHostConfiguration("http://localhost:8080"); config.Routes.MapHttpRoute( "API Default","api/{controller}/{id}", new{ id =RouteParameter.Optional}); Server=newHttpSelfHostServer(config); Server.OpenAsync().Wait(); }
阅读全文
摘要:Working console program:static voidMain(string[] args){ // Set up server configuration HttpSelfHostConfiguration config =newHttpSelfHostConfiguration("http://localhost:8080"); //Route Catches the GET PUT DELETE typical REST based interactions (add more if needed) config.Routes.MapHttpRoute
阅读全文
摘要:ASP.NET MVC3 系列教程 – 新的Layout布局系统I:回忆MVC2当中MasterPage那些事code:<!------------Begin--------------><!-- Master文件 --><%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>Master head<asp:ContentPlaceHolder ID="MainContent" runat="server
阅读全文
摘要:当一个web api抛出一个异常后此异常会被转化成一个HTTP响应错误代码为500的服务错误但是如果你不想让客户端看到500的错误码你也可以自定义错误码如下代码当用户输入的ID没有与之相关的数据则返回了错误码为404的错误(页面未找到)public Product GetProduct(int id) { Product item = repository.Get(id); if (item == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode....
阅读全文
摘要:响应内容是XML的用树装结构 [RO] Privacy—Explains the P3P statement in the response headers, if present.---------------------响应内容中如果有隐私进行说明 3、AutoResponder 可以将已有的相应发回给服务器 4、Request Builder 可以自己手动写请求,包括请求的头和请求的内容。 也可以将左侧刚刚捕获的会话,拖到右侧进行修改 5、Filter 可以对会话进行过滤 6、TimeLine 通讯的时间 三、由于我也是刚刚接触这个软件,这里只是一个简单的介绍,等我熟悉了以后,会再写一些
阅读全文
摘要:上节介绍了REST WCF 4.0相比3.5支持更多的交互格式,本篇就说说在Server与Client间通过最原始的流的格式进行通讯。开篇之前,介绍REST WCF 的一个特性:DescriptionAttribute。对这个特性相信都很熟悉,它的作用如同在WebService中通过它来标注出某个接口的描述信息,在REST WCF中同样如此。将它标注在REST WCF 接口中后,在help页面中将会显示接口的描述信息。 如以往,本篇将通过Demo的形式介绍如何在REST WCF中使用Stream。Demo的功能有以下几点: 1、通过Stream的形式获取服务端的图片资源,并保存到本地 ...
阅读全文
摘要:HTTP Basic 验证客户端的原理: 把HTTP头重的ContentType设置为:application/x-www-form-urlencoded 如果HTTP头没有Authorization,那么添加,并把这个设置为“Basic 用户名:密码”字符串组合的Base64编码。代码片段:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->HttpWebRequest request = (HttpWebRequest)HttpWebRequ
阅读全文
摘要:http://www.cnblogs.com/shanyou/archive/2012/05/13/2497810.htmlpublicHttpResponseMessageGetCustomer(int id){ var customer = db.Customers.Find(id); if(customer ==null) { returnRequest.CreateResponse(HttpStatusCode.NotFound); } returnRequest.CreateResponse(HttpStatusCode.OK, customer);}【ASP.NET Web API
阅读全文