posts - 118,  comments - 276,  views - 45万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
03 2011 档案
ASP.NET MVC构建RESTful服务时返回Unauthorized(401)状态
摘要:这两天在构建RESTful服务的客户端,本以为已经一马平川了,没有想到就在下班时遇到一个问题。我打算在服务器商把所处理的HTTP异常状态(400-599))状态一一返回给客户端组件,客户端收到各个状态码后根据号码及从服务器端返回的Description Content来抛出客户端的异常,结果在测试401时发现一个问题:在我的设想中,收到401,然后再去读取Response中的Status Description(我使用了自定义格式,详见上篇博文),结果出乎意料的是,服务器端发出了401,结果客户端没有抛出异常,而且按照接收成功的状态去了读取ATOM Feed的代码,而解析ATOM Feed时报 阅读全文
posted @ 2011-03-31 23:09 think8848 阅读(3301) 评论(1) 推荐(0) 编辑
ASP.NET MVC + RESTful服务之HttpStatusResult
摘要:开篇语与本主题无关,我非常尊敬的一个导师好几天没有见到人,今天听说原来是病了,人也出现了。在此祝愿他身体康健,长命百岁!使用ASP.NET MVC构建RESTful服务时,想到一个问题:在使用POST,PUT,DELETE方法发送请求时服务器端如何回传响应?如果在操作过程中发生了异常情况,如何通知客户端?带着这个问题,尝试着构建了一个ActionResult的派生类:namespace System.Web.Mvc{ public class HttpStatusResult : ActionResult { public HttpStatusResult() : this(HttpStatu 阅读全文
posted @ 2011-03-30 15:26 think8848 阅读(3116) 评论(0) 推荐(0) 编辑
[原]ASP.NET MVC 3 Razor 多国语言参考解决方案 补充三
摘要:原以为可以使用之前的多国语言方案进行编程了,没想到第一个正式点的页面就卡了,为什么呢,因为通过HtmlHelper只能找到当前请求的View是哪个,如果这个View使用了Layout或是Partial就歇菜了。通过一番尝试,发现使用HtmlHelper.ViewDataContainer属性可以获得一个WebViewPage对象,这个对象中的VirtualPath对象代表当前正在Excute的页面属于哪个物理文件(.cshtml),于是修改代码如下: public static class LocalizationHelper { public static string Lang(this 阅读全文
posted @ 2011-03-20 14:57 think8848 阅读(1377) 评论(0) 推荐(0) 编辑
[原]ASP.NET MVC 3 Razor 多国语言参考解决方案 补充二
摘要:在上两篇(1,2)中提到了如何在应用程序项目中使用资源文件的问题,还没有测试在调用其他ClassLibrary中资源文件的情况,今早起来还按照以往ASP.NET项目中的作法做个测试使用资源文件: public class Class1 { public string GetTT() { return Resources.Test.TT; } }期望能像往常一样,随着浏览器中的语言选项的变换能出现自动切换效果,结果不出意料的失望了,只能显示没有带Culture信息的资源项值。(3月22日重要更新内容:在web.config的system.web配置节点下加入<globalization c 阅读全文
posted @ 2011-03-19 11:13 think8848 阅读(1108) 评论(3) 推荐(0) 编辑
[原]使用ASP.NET MVC构建RESTful服务
摘要:说起选用ASP.NET MVC的原因,有两个:一.以Web编程的方式来编写Web程序,这句听起来有点拗口,但对比WebForm就会有明显的感觉了,WebPage为了模拟出WinForm,牺牲了太多的Web特性,而这些特性恰恰是在HTTP上很关键的东西;二.ASP.NET MVC上构建Web Service真是方便到了极点,为什么呢?基本上ASP.NET MVC的每个Action都像是一个HttpHandler一样,可以处理各种类型的请求,而且Controller和Fitler的运用,更使代码组织和功能扩展有了较强的提升;可以这么说,M$的框架,个人感觉MVC是比较合“口味”的,相比学完Silv 阅读全文
posted @ 2011-03-18 21:07 think8848 阅读(9631) 评论(2) 推荐(2) 编辑
[原]ASP.NET MVC异常处理方案
摘要:异常处理是每一个系统都必须要有的功能,尤其对于Web系统而言,简单、统一的异常处理模式尤为重要,当打算使用ASP.NET MVC来做项目时,第一个数据录入页面就遇到了这个问题。在之前的ASP.NET WebForm项目中,一般情况下都是在Application_Error事件处理器和ScriptManager_AsyncPostBackError事件处理器里面进行,在ASP.NET MVC中用这两种方法似乎都不合适了,该放在哪儿呢?总不至于在每个Action里面都放一个try{...}catch{...}吧。在ScottGu的博客里面提到了一个类:HandleErrorAttribute,似乎 阅读全文
posted @ 2011-03-18 11:10 think8848 阅读(6839) 评论(8) 推荐(5) 编辑
[原]ASP.NET MVC 3 Razor 多国语言参考解决方案 补充
摘要:话说当年张古董将老婆借给了李成龙,结果最后竟然一借不回了。这件事呢两个方面都要怪:张古董动机不纯,李成龙作人也不厚道,但一般情况下占人便宜是很上瘾的。Reflector没有人不知道吧,.NET用了好多年的人可能已经不需要再去看.NET源代码了,一来是之前看过了,二来是很多的实现方式和运行原理能猜个七七八八的,但是对于初学者以及想查看有些不常用的.NET类型源代码的人来说,没有Reflector真是挺难受的。但是前两天突然听到个消息,Reflector居然收费了!!!这么好用的一个工具,居然不给免费使用了???这就好像张古董把老婆借给李成龙一样,让李成龙夜夜笙歌,好不逍遥快乐,有一天突然张古董要 阅读全文
posted @ 2011-03-17 15:19 think8848 阅读(1437) 评论(1) 推荐(0) 编辑
[原]ASP.NET MVC 3 Razor 多国语言参考解决方案
摘要:3月22日整理:实用示例请参考:这里支持多国语言基本上是一个成熟产品必须支持的功能,但是直到想用这个功能时,发现居然找不到解决方案(很吃惊,真的没有提供么?),于是在网上搜索了好久,发现两种心仪的方案:1: ASP.NET MVC 多语言解决方案2:ASP.NET MVC - Localization Helpers这两种方案都是针对WebFormViewEngine的,对于想使用Razor的我来说,修改是必然的了先说说第二种,这个方法貌似核心是使用了HttpContext.GetLocalResourceObject()方法。但是问题在于在使用GetLocalResourceObject() 阅读全文
posted @ 2011-03-15 14:09 think8848 阅读(3183) 评论(1) 推荐(0) 编辑
[转]MVC 使用WCF Syndication
摘要:SyndicationFeedResult 源代码原文地址:http://code.google.com/p/netfx/source/browse/trunk/Source/Web/Mvc/SyndicationFeedResult.cs?r=73/* * Dependencies: * System.Web.Abstractions * System.Web.Mvc * System.Web.Routing * System.ServiceModel.Web * Authors: Juan Wajnerman - jwajnerman@manas.com.ar */using System 阅读全文
posted @ 2011-03-07 14:02 think8848 阅读(1287) 评论(1) 推荐(0) 编辑
[原]ASP.NET MVC 3 使用 DotNetOpenAuth 实现SSO
摘要:转载注明作者及出处,谢谢听到DotNetOpenAuth是去年某一天的事了,当时在读《RESTful Web Service》时突然好像灵光一闪,觉得Authorization这个问题似乎应该在构建服务之前就先考虑清楚,否则服务化似乎就无从谈起了。为什么这么说呢,举例来说,Google Canlendar是一个服务,你现在使用Google Canlendar又构建了另一个服务,并幸运的拥有了一些用户,但这些用户怎么才能放心的把Google的帐户信息交给你,让你拿去Google验证呢;另一点,我们公司现在项目比较多,每个新项目建立后,都要往里复制一份诸如Organization,UserMana 阅读全文
posted @ 2011-03-06 21:44 think8848 阅读(16838) 评论(21) 推荐(8) 编辑

点击右上角即可分享
微信分享提示