首页 > 图书中心 >图书详情
ASP.NET SignalR编程实战
作者:[美]José M. Aguilar 著 明道洋 译
丛书名:开源.NET生态软件开发
定价:49.80元
印次:1-1
ISBN:9787302394792
出版日期:2015.04.01
印刷日期:2015.04.28
使用SignalR更简便地开发实时多用户应用程序 一本SignalR权威指南!SignalR是一个灵活框架,可简化服务器和客户端之间的实时、异步通信的开发工作。ASP.NET SignalR编程实战 面向熟悉HTML和JavaScript的.NET开发人员,介绍开发实时Web、桌面和移动应用程序所需的SignalR背景知识和重要技术。 主要内容 ◆ 理解推送(push)通信模型 ◆ 熟悉不同抽象层的SignalR开发 ◆ 了解可以即时通信的异步技术 ◆ 开发持久连接和Hub ◆ 使用服务器端.NET代码来创建服务器-客户端RPC ◆ 实现多平台客户端 ◆ 在高并发环境中提高性能 ◆ 采纳基于场景的开发和扩展建议 ◆ 探讨安全性、可扩展性、单元测试及其他重要主题
more >前 言 SignalR是微软对Web开发技术栈的扩充。它是一种框架,可方便地用来创建神奇的实时应用程序,如在线协作工具、多用户游戏、实时信息服务等,诸如此类的应用程序以往开发起来相当复杂。 本书不仅将从头开始完整展示SignalR开发有关的技术,也将处理一些高级主题。读完本书后,你应该对该框架有所了解,并能成功地将这些知识付诸于实践,创建任意规模的实时系统。本书也可以作为参考手册,虽然它并不全面,但包含了SignalR开发中的大多数实际应用以及完全掌握SignalR的一些必需基础知识。 本书读者对象 本书旨在帮助开发人员了解和编写基于SignalR的组件或应用程序。如果需要在现有应用程序中实现实时立即性,或是需要基于这种模式创建新系统,那么你可能对本书特别感兴趣。 专门从事后端的开发人员可以了解如何实现供任何客户端使用的实时服务,并解决那些需要可扩展性或需要通过单元测试进行质量改进的情形。那些青睐于前端的开发人员将看到他们如何使用实时服务,在创建客户端时添加一些丰富多彩的特性。由于推送(push)的使用和这些解决方案的异步性,Web开发人员将找到一种真正简单的方法来突破HTTP领域的局限性。 阅读本书的前提条件 本书假定读者已经熟悉C#和.NET环境下的一般编程知识。同时,由于SignalR自身以及书中的一些示例和内容大部分都和Web世界有关,因此有必要了解Web所依赖的协议,同时要具备一定的Web编程语言基本知识,如HTML,尤其是JavaScript。 虽然并非严格要求,但读者可以从 jQuery、Windows Phone 8开发或WinRT有关的一些必备知识中受益,因为它们和书中的一些开发示例和内容都有关系。熟悉单元测试、模拟、依赖注入(dependency injection)对掌握书中最后一些章节的内容同样也非常有帮助。 哪些人不应该阅读本书 对.NET平台和C#一窍不通的人将不能受益于本书。如果不具备JavaScript的一些必备知识,将很难理解书中的一些解释。 本书结构 本书分为9章,主要探讨SignalR实时多用户系统开发的不同方面。本书将从零开始,带你逐步深入了解该框架的一些高级功能的实现。 第1章“Internet、异步、多用户!”和第2章“HTTP:客户端即上帝”纯粹是介绍性的,这两章有助于我们理解一些技术背景以及这个新框架所依赖的一些基础。 在第3章“SignalR概述”中,我们将在一个较高的层次上对SignalR进行介绍,展示它在Microsoft Web开发栈中的位置以及其他一些相关概念,如OWIN 和Katana。 从第3章开始,我们将对SignalR应用程序开发的一些方法进行详细介绍。第4章“持久连接”和第5章“Hub”将专门探讨如何使用持久连接和Hub进行不同抽象层级的开发。第6章“持久连接和来自其他线程的Hub”将探讨如何在同一个应用程序中整合这些组件和其他一些技术。第7章“实时多平台应用程序”主要探讨如何实现多平台客户端。 第8章“部署和扩展SignalR”将展示SignalR提供的不同部署情形和扩展方案,第9章“高级主题”将对其他一些更高级的方面进行介绍,如安全、可扩展性和测试等。 在本书中找到你最好的起点 本书采用的是由浅入深的组织方式,尽管你可以从头至尾地阅读,但也可以将本书用作参考书,直接对特定的内容进行查找,这取决于读者原有的知识水平以及个人的需要。 对于第一次接触SignalR的开发人员而言,我们建议按照本书章节的顺序,从头至尾地阅读本书。但对于那些精通SignalR,使用过所有版本的开发人员而言,快速浏览一下前三章就足够了,然后只关注和持久连接或Hub有关的一些章节,看看有什么不清楚的地方或是和以前版本相比有什么变化。可以直接从那里转到特定的区域来解决疑问,例如,框架的可扩展特性、实现授权机制或是在Hub上执行单元测试的一些过程。 对于任何章节而言,下载并安装相关的示例项目是不错的想法,这将有助于对书中的一些内容进行巩固和练习。 本书的一些约定和特点 为了让本书更具可读性,并且易于理解,我们采用以下约定来呈现内容: ● “注意”特殊段落将提供一些额外的信息,或是用来提供成功完成某项任务的可选方法。 ● 两个按键名称之间的加号(+)表示必须同时按下这些键。例如,“按Alt+Tab”表示在按下Tab键的同时必须按下Alt键。 ● 两个或多个菜单项之间的竖线(例如,“File | Close”)表示应该选择第一个菜单或菜单项,然后是下一个,等等。 系统需求 为能更好地遵照书中的一些示例进行练习,至少应具备下列所示的一些硬件和软件项: ● 配备至少1.6GHz处理器的计算机(推荐2GHz)。 ● 2GB RAM(建议4GB)。 ● 兼容DirectX 9的显卡,分辨率高于1024×768。 ● 操作系统Windows 7 SP1、Windows 8 、Windows 8.1或高于Windows Server 2008 R2 SP1的版本。 ● Internet Explorer 10。 ● Visual Studio 2012或以上任何更新版本,大多数情况下使用的是Express版本。 ● Internet连接。 一些示例可能需要一个具有管理员权限的系统账号,用来安装像Windows Phone SDK这样的组件。一些章节中也将用到一些像Windows Azure 服务这样的外部资源。 示例代码 为了对一些概念进行说明,书中列举了很多示例甚至是完整的项目,其中大多数示例以及其他一些示例可从下列地址进行下载: http://aka.ms/SignalRProg/files 请按照说明下载SignalRProgramming_codesamples.zip文件。 另外,也可从http://www.tupwk.com.cn/downpage下载示例代码。 注意: 除了这些示例代码外,你的系统上应该已经安装了Visual Studio 2012 或2013。 版本说明 本书写作时使用的SignalR版本为2.0.0,可在其中找到特定版本的各种参考资料。 微软的SignalR团队不断努力改善其产品,所以经常会发布一些软件更新。这些更新的版本编号通常为2.0.x 或 2.x.0,除修订外,这些更新可能包含了一些新的或经过完善的特性,但并非一些重大的更改或是对开发API进行的显著修改。 无论在什么时候更新这些新版本的组件,显然都有必要对示例源代码中的引用进行修改,特别是在引用了脚本库函数时。 因此,如果有以下代码: <script src="/scripts/jquery.signalR-2.0.0.min.js"></script> 安装SignalR 2.0.1版本后,应该将其修改成下面这行: <script src="/scripts/jquery.signalR-2.0.1.min.js"></script> 安装示例代码 为安装示例代码,只需按照上文所述下载压缩包文件,然后将其解压到系统上的某个文件夹中。 使用示例代码 解压该文件后,应该已经创建了文件夹结构,文件夹将按照本书的章节顺序进行组织,从第4章开始,我们将对一些示例代码进行分析。 Chapter 04 - Persistent connections Chapter 05 - Hubs Chapter 06 - External access … 每一个文件夹中都可以找到一个针对每个示例项目的子文件夹,这些子文件夹将按照书中讲解概念的顺序进行编号。 … Chapter 08 – Scaling 1-AzureServiceBus 2-SqlServer … 可从这些文件夹中找到针对每个示例的具体解决方案文件(*.sln),尽管某些情况下需要对配置进行预先调整,但这些解决方案彼此之间并不相互依赖,并且都包含一个可以运行的、功能齐全的示例(在Visual Studio中按F5功能键)。此类情况下,项目主页上或readme.txt文件中通常会给出有关的详细说明。 致谢 有关的致谢的言辞可能听起来会很老套。这样的一本书,没有很多人的通力协作是不可能完成的,正是他们的辛勤付出才使本书成为现实。这里谨向他们表示谢意! 特别要感谢我的编辑——来自campusMVP.net的Jose M. Alarcón(其Twitter为@jm_ alarcon)的参与。他在项目管理、修订方面的才华以及他所提出来的一些合理建议使本书的出版成为可能。 Javier Suárez Ruíz(@jsuarezruiz)为本书付出很多,特别是Windows Phone或WinRT等非Web环境下SignalR客户端示例的实现,因此他的参与同样是不可或缺的。 我要感谢campusMVP.net的Victor Vallejo,感谢他在文本上的宝贵帮助。 至于微软方面,要感谢策划编辑Devon Musgrave,他从一开始就对此项目非常感兴趣,没有他的帮助,绝不会有此书。也要感谢项目编辑Carol Dillingham专业的工作。感谢技术复审Todd Meister、文字编辑Richard Carey、nSight项目管理Sarah Vostok、索引编辑Lucie Haskins。感谢O’Reilly Media的Sarah Hake和Jenna Boyd的支持。 最后要感谢Damian Edwards和David Fowler,感谢他们宝贵的输入。为了能够让本书尽可能贴近实用,很荣幸能够受益于SignalR创造者的一些建议和贡献。 勘误表和本书支持 我们已经尽了最大努力来确保本书及附加内容的准确性。本书出版后,读者报告的任何错误将通过下列地址列出: http://aka.ms/SignalRProg/errata 如果你发现某个错误没有列出,可通过上面的页面将错误告知我们。 如果需要其他支持,可以给Microsoft Press Book Support发送电子邮件(mspinput@ microsoft.com)。 请注意Microsoft软件产品支持采用的并非上述地址。 如果对本书中文版有任何意见或建议,请发送邮件到wkservice@vip.163.com。 我们想听到你的想法 对于Microsoft出版社而言,客户的满意是我们至高无上的宗旨,你的反馈是我们最宝贵的财富。请将你对本书的想法告知我们: http://aka.ms/tellpress 调查很简单,我们将认真阅读每一个意见和想法,首先感谢你的反馈。 联系我们 让我们继续保持沟通吧。我们在Twitter上:http://twitter.com/MicrosoftPress。
more >