随笔分类 -  C# 笔记

摘要:1 程序设计基本原理 编码的奥秘 本书用大量的篇幅讲述了与计算机原理相关的各种编码方法,并通过数字逻辑电路以及存储器,微处理器的形成,组织及发展阐述了编码的实现。本书还涉及到计算机系统,编程语言的发展,甚至对计算机图形化的相关技术也给了一个全面的描述。阅读本书,相信您会从它图文并茂的编排组织,通俗风趣的语言文字,广泛丰富的背景知识中体会到作者超凡的智慧和深邃的学问。 计算机编程的艺术(Art... 阅读全文
posted @ 2014-06-22 20:19 kelite 阅读(234) 评论(0) 推荐(0)
摘要:1、主线程进程创建时,默认创建一个线程,这个线程就是主线程。主线程是产生其他子线程的线程,同时,主线程必须是最后一个结束执行的线程,它完成各种关闭其他子线程的操作。尽管主线程是程序开始时自动创建的,它也可以通过Thead类对象来控制,通过调用 CurrentThread方法获得当前线程的引用2、多线程的优缺点 优点:----提高应用程序响应。----使多CPU系统更加有效。操作系统会保证当线程数不大于CPU数目时,不同的线程运行于不同的CPU上。----改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。缺点:不好控制、系统运行具 阅读全文
posted @ 2014-02-17 18:29 kelite 阅读(314) 评论(0) 推荐(0)
摘要:1、在if (!ModelState.IsValid)之前给字段赋值,然后TryUpdateModel()2、使用如下方法public ActionResult Create([Bind(Exclude = "Created")] Model model){ ....}3、在Global.asax.cs文件中设置DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;这样只会检查模型中声明为Required的字段可惜对于Web Api 这些都没有办法解决! 阅读全文
posted @ 2014-01-21 01:36 kelite 阅读(884) 评论(0) 推荐(0)
摘要:Refresh tokens can potentially improve the situation but also increase complexity. A refresh token is a long lived token that allows requesting new access tokens without having to present the user cre... 阅读全文
posted @ 2013-12-24 18:59 kelite 阅读(577) 评论(0) 推荐(0)
摘要:一般的社交提供商不提供一个Web Service进行身份验证(有很好的理由),而提供一个身份验证的界面,其中包含了某种协议如OpenID(连接)或使用OAuth2认证。这意味着客户端应用必须使用一个浏览器来展现这些UI部件---典型的登录页面和一些类型的许可界面。 这通常通过导航到一个众所周知的URL (网页API的模板使用OAuth2隐流程方法),并等待,直到在其他一些知名的URL会发生回调。在... 阅读全文
posted @ 2013-12-24 17:32 kelite 阅读(869) 评论(0) 推荐(0)
摘要:本文我们将把关注Visual Studio用户认证模板中的 本地用户名/密码帐号特性。他们将其分为了两部分:帐户控制器具备如创建帐号和修改密码等功能;另一部分是在OAuth2认证服务器中进行的认证。我们从创建一个账户开始: 为了创建一个账户,我们需要Post到/api/account/register 节点,对应到帐号控制器的Register方法,这个方法允许匿名访问。 客户端可以这样做: ... 阅读全文
posted @ 2013-12-24 17:24 kelite 阅读(840) 评论(0) 推荐(0)
摘要:The Web API v2用户认证模板提供了流行的应用用户认证场景,如.使用本地帐号的用户名密码认账 (包括创建用户、设置和修改密码)以及使用第三方的认证方式,如facebook,google等等– 在本地中包含了外部帐号的连接 所有的这些均通过使用一个OAuth2认证服务进行. To make all that happen the template combines quite... 阅读全文
posted @ 2013-12-24 16:26 kelite 阅读(4245) 评论(0) 推荐(0)
摘要:Fixing ASP.NET MVC 4 Web API 404Posted onNovember 5, 2012For a Web Service providing some REST-style URIs to access the data, I decided to use theASP.NET MVC 4 Web API. Once developed, tested and deployed I experienced a mysterious 404 on my production server.The Web API started originally asWCF Web 阅读全文
posted @ 2013-12-07 02:13 kelite 阅读(13294) 评论(3) 推荐(2)
摘要:1、接口 接口与抽象基类。抽象类与接口的不同是,抽象类不仅可以定义多态接口还可以定义一些其他的成员以及构造函数。而接口只能包含抽象成员。 抽象父类创建多态接口,只有派生类才可以。而往往很多情况下非派生类使用相同的多台接口。接口可以被任何层次结构、任何命名空间或程序集的任何类型来实现。接口有较高级别的多态性。 接口不指定修饰符,因为所有的接口定义都是隐式公共和抽象的。 接口不能定义字段,可以定义属性、事件、索引器。4、泛型非泛型集合存在的问题: (1)、非泛型----装箱与拆箱问题 将值类型表示为引用类型----装箱:显式地将值类型分配给System.Object变量的过程 ... 阅读全文
posted @ 2013-10-07 01:15 kelite 阅读(545) 评论(0) 推荐(0)
摘要:1、异常处理4要素 一个表示异常详细信息的类类型; 一个向调用者引发异常类实例的成员; 调用者的一段调用异常成员的代码块; 调用者的一段处理将要发生异常的代码块; 阅读全文
posted @ 2013-10-07 00:49 kelite 阅读(307) 评论(0) 推荐(0)
摘要:1、包含与委托---has-a2、嵌套类型(枚举、类、接口、结构等) 由于只有嵌套类才可声明为私有,通过嵌套类则可以完全控制内部类型的访问级别。 嵌套类型是包含类的成员,所有可以访问包含类的私有成员。 通常嵌套类型只用做外部类的辅助方法,而不是为外部世界所准备的。3、方法重写------重新定义基类已经定义的方法 如果基类希望其定义的方法可以由子类重写,就必须用virtual标志方法即虚方法。 如果子类希望重写父类的方法实现则必须使用override标志方法。 密封虚方法:若不希望子类重写父类的方法则可以在父类中将方法用sealed标志。4、多态接口 抽象基类的多态接口指一组虚的或者抽象的方法 阅读全文
posted @ 2013-10-07 00:40 kelite 阅读(237) 评论(0) 推荐(0)
摘要:1、使用base若子类需要使用父类公开或受保护的成员则需要是base 1 class Manager : Employee 2 { 3 public int StockOptions { get; set; } 4 5 public Manager(string fullName, int age, int empID, 6 float currPay, string ssn, int numbOfOpts) 7 : base(fullName, age, empID, currPay, ssn) 8 ... 阅读全文
posted @ 2013-10-06 23:50 kelite 阅读(191) 评论(0) 推荐(0)
摘要:1、构造函数定义一个类时,C#默认会实现一个隐式的构造函数,默认的构造函数不接受参数,负责把新对象分配到内存中并确保所有字段数据都设置为正确的默认值。然而,一旦自定义了构造函数,默认构造函数就被自动从类中移除不再有效!如果希望继续使用自定的构造函数,也需要有默认构造函数为字段创建默认值,则需要显式的重新定义默认构造函数!绝大多数情况下默认构造函数的实现是故意为空。2、this关键字this关键字提供对当前类实例的访问。静态成员不能使用this,因为不是实例。3、静态 静态数据字段: 对所有对象的实例共享。 静态构造函数: 静态构造函数是特殊的构造函数,非常适合于编译时静态数据初... 阅读全文
posted @ 2013-10-06 23:34 kelite 阅读(210) 评论(0) 推荐(0)