ASP.NET Chinese Blogs

Browse by Tags

All Tags » WEBSERVICE (RSS)
MCTS Self-Paced Training Kit (Exam 70-503) Microsoft® .NET Framework 3.5—WCF
春节之前就收到了这本MVP图书计划的书籍,由于春节前后项目工作非常繁忙,累了个够呛,所以书评一直没有跟上,实在感觉对不住老大,今天赶紧补上。这是一本纯英文的硬皮MCTS考试自学用书。由于该书籍面向读者的专向性,所以跟普通的技术书籍有些不太一样。内容是以课为单位编写的,且配有随书CD和VS2008专业版的90天试用版本(含MSDN库)。 这本书既然是考试自学用书,那么它的细致就自不在话下了。几乎WCF的各个细节都有浅入深的进行介绍,有详尽的代码实例(VB和C#都有),还穿插着各种注意事项、知识点以及扩展内容。给人很贴心的感觉,因为很多东西是初学者所不能想到和接触到的,在书中给与提示和说明我认为是一件很好的手段。模拟考试软件的答案解释也是不错的,再次赞一下:D 我对书中内容的序列化控制、WCF跟踪扩展与监控、数据安全以及用户认证等部分比较感兴趣。改天要再好好学习一下。 这本书似乎目前尚未有中文版本(大概考试用书都这样子),但是依然建议大家自学阅读一下。照着实例代码多练习调试尽可能搞明白更多的细节,不要看答案对了就对了。尽可能把每个提醒提示的文字也都阅读一下,会受益匪浅的哦。 Read More...
asp.net 应用中的Membership 重置密码问题
asp.net 2.0中引入的Membership机制给我们做web开发带来很多便利,使得我们在做很多项目开发时处理用户和角色及权限问题时减少了相当的工作量。不过我们开发中可能会碰到一个小小的问题如下: 我们知道MembershipUser中有如下重载的方法 MembershipUser.ResetPassword () :将用户密码重置为一个自动生成的新密码。 MembershipUser.ResetPassword (String passwordAnswer) :将用户密码重置为一个自动生成的新密码。 msdn中有如下描述: ResetPassword 调用 ProviderName 属性所引用的成员资格提供程序的 MembershipProvider.ResetPassword 方法,以将成员资格用户的密码重置为自动生成的新密码。然后将该新密码返回到调用方。 如果 EnablePasswordReset 为 false ,则成员资格提供程序将返回一个异常。 如果 RequiresQuestionAndAnswer 为 true ,则必须使用以密码提示问题答案作为参数的 ResetPassword 重载方法,并提供成员资格用户的密码。如果需要密码答案并提供了不正确的密码答案,成员资格提供程序将引发 MembershipPasswordException。 而另外一个方法 MembershipUser.ChangePassword(String oldPassword, String newPassword) 又必须提供原始密码,那么这里就产生了一个矛盾:我们希望用户能够通过安全问题和答案来作为找回密码,又希望管理员可以重置某用户的密码怎么办?上述方法均无法直接使用,要么使用...
Content-Disposition的使用和注意事项
最近不少Web技术圈内的朋友在讨论协议方面的事情,有的说web开发者应该熟悉web相关的协议,有的则说不用很了解。个人认为这要分层次来看待这个问题,对于一个新手或者刚入门的web开发人员而言,研究协议方面的东西可能会使得web开发失去趣味性、抹煞学习积极性,这类人应该更多的了解基本的Web技术使用。而对于在该行业工作多年的老鸟来说,协议相关的内容、标准相关内容应该尽量多些的了解,因为只有这样才能使得经手的web系统更加优秀(安全、漂亮、快速、兼容性好、体验好……)。本文我们来说一下MIME 协议的一个扩展Content-disposition。 我们在开发web系统时有时会有以下需求: 希望某类或者某已知MIME 类型的文件(比如:*.gif;*.txt;*.htm)能够在访问时弹出“文件下载”对话框 希望以原始文件名(上传时的文件名,例如:山东省政府1024号文件.doc)提供下载,但服务器上保存的地址却是其他文件名(如:12519810948091234_asdf.doc) 希望某文件直接在浏览器上显示而不是弹出文件下载对话框 …………………… 要解决上述需求就可以使用Content-disposition来解决。第一个需求的解决办法是 Response.AddHeader "content-disposition" , "attachment; filename=fname.ext" 将上述需求进行归我给出如下例子代码: public static void ToDownload( string serverfilpath, string filename) { FileStream fileStream = new FileStream(serverfilpath, FileMode...
More Posts