首页 ASP[1].NET_2.0网站开发全程解析

ASP[1].NET_2.0网站开发全程解析

举报
开通vip

ASP[1].NET_2.0网站开发全程解析 作者简介 Marco BellinasO是意大利CodeArchitects SrL公司的合伙人之一,这家公司专门为微软平台提供咨询、 指导、开发和培训。作为一名资深的顾问和开发人员,MarcO对所有的Web开发技术都特别感兴趣 。他着重于用微软的产品和技术开发大型Web网站,包括SharePoint 2003、MCMS,当然还有 ASRNET 2.0和SQL Server 2005。从.NET Framework的Beta 1版开始,他就已经在Web Services、 Windows Forms...

ASP[1].NET_2.0网站开发全程解析
作者简介 Marco BellinasO是意大利CodeArchitects SrL公司的合伙人之一,这家公司专门为微软平台提供咨询、 指导、开发和培训。作为一名资深的顾问和开发人员,MarcO对所有的Web开发技术都特别感兴趣 。他着重于用微软的产品和技术开发大型Web网站,包括SharePoint 2003、MCMS,当然还有 ASRNET 2.0和SQL Server 2005。从.NET Framework的Beta 1版开始,他就已经在Web Services、 Windows Forms和Windows Services等方面进行了许多应用。他同时还是一系列商业开发工具的开发者 或合作者,如获奖的VBMaximizer插件、用于.NET的CodeBox和FormMaximizer。在.NET发布之前 ,Marco是一个VB开发者,与COM和ASP开发者一样,他也善于应用高级的底层APl技术来开发 Windows程序。 在撰写本书之前,MarcO参与编写了由Wrox出版的其他一些图书,包括Fast TrackASPNET,VisualC#.NET:A Guide fOR.VB6 Developers,Beginning C#和基于ASRNET 1.1的本书的上 一个版本。他还频繁地为MSDNMagazine、MSDN Online、Visual Studio Magazine及意大利的 Computer Programmin9和Visual Basic&.NETJournal等杂志撰写文章。他是www.dotnet2themax.com网站 的主要开发者和编辑人员之一,这个受欢迎的Web网站服务于.NET开发者,它是从另一个更著名的 关于VB6的Web网站www.vb2themax.com衍生而来的。写作之余,MarcO还在由意大利微软和其他大 公司主办的许多重要会议上用英语和意大利语发表演讲。 如果您有意与MarcO讨论本书的相关问题,请登录www.dotnet2themax.com或他的博客 www.domet2themax.com/blogs/mbellinasO与他联系。 编辑推荐 本书介绍了用C#开发ASP.NET 2.0网站的完整过程,示例网站TheBeerHouse经过了重新编写,并将内 容全面升级为ASP.NET 2.0版,包含了很多当今主流内容网站及电子商务网站所拥有的功能,如论坛 、民意调查、文章管理和电子商务等。本书每一章都介绍了一些新控件和新功能,即使读者从未接 触过ASP.NET 2.0,阅读本书也并不会感到晦涩。 本书各章自成一体,首先提出问题,然后讨论解决这些问题所涉及的内容,并构建了一个解决方 案,最后给出实现该解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 的实践。这样读者就能将ASP.NET 2.0所有的新功能整合到一起,实现 一个功能丰富的网站!   本书主要内容   ●利用ASP.NET 2.0的内置功能减少编程工作量。   ●用独特灵活的方法解决网站开发过程中遇到的各种问题。   ●实现主题、成员关系、个性化、本地化、模板页面、web Part及缓存等新功能。   ●掌握GridView、DetailsView、MultiView、Wizard、Menu、SiteMap和Login等新服务器控件。   本书读者对象:本书主要面向具有ASP.NET1.x开发经验的编程人员,但不要求读者了解 ASP.NET2.0。   源代码下载及技术支持 在本书合作站点http://www.wrox.corn或http://www.tupwk.com.cn/downpage上可以获取本 书源代码以及Wrox技术支持。 本书简介 这本Amazon五星级畅销书自第1版出版以来就受到广大读者和网友的高度评价,国内几乎所有相关 专业的网站都在推荐该书并提供相关英文资料的下载。该书全面介绍了利用C#开发ASP.NET2.0网站 的完整过程,每章都自成一体,首先提出问题,然后讨论解决问题时具体要考虑的方方面面,并构 建一个解决方案,最后给出实现该解决方案,最后给出实现该解决方案的实践。书中的示例网站 TheBeerHouse使用ASP.NET2.0重新编写,包含了很多主流内容网站和电子商务网站所拥有的功能 ,可帮助读者切实掌握ASP.NET的Web开发方法。 目录 第1章 项目介绍——TheBeerHouse?  1.1 提出问题?  1.2 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 ?  1.3 解决方案?  1.4 小结? 第2章 进行网站 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 ?  2.1 提出问题?  2.2 设计方案?   2.2.1 设计网站布局?   2.2.2 实现设计时用到的技术?   2.2.3 在样式表文件中使用CSS定义样式?   2.2.4 避免使用HTML表格控制布局?   2.2.5 在多个页面中共享通用设计?   2.2.6 创建可供用户选择的主题?   2.2.7 创建一个导航系统?   2.2.8 创建一个可访问的网站?   2.2.9 在所有页面上共享通用行为?  2.3 解决方案?   2.3.1 创建网站设计?   2.3.2 创建模板页面?   2.3.3 创建站点地图文件?   2.3.4 创建第一个主题?   2.3.5 创建一个示例Default.aspx页面?   2.3.6 创建第二个主题?   2.3.7 创建ThemeSelector用户控件?   2.3.8 再对样式进行小修改?  2.4 小结? 第3章 设计体系结构?  3.1 提出问题?  3.2 设计方案?   3.2.1 设计分层结构?   3.2.2 选择一个数据库?   3.2.3 设计数据访问层?   3.2.4 设计业务逻辑层?   3.2.5 存储连接字符串及其他设置?   3.2.6 用户界面?  3.3 解决方案?   3.3.1 TheBeerHouse的配置部分?   3.3.2 DAL的基类:DataAccess?   3.3.3 BLL的基类:BizObject?   3.3.4 配置健康监控系统?  3.4 小结? 第4章 成员和用户配置?  4.1 提出问题?  4.2 设计方案?   4.2.1 密码存储方法?   4.2.2 认证模式:Windows security 还是自定义登录表单?   4.2.3 让每件事情都由自己完成?   4.2.4 Membership和MembershipUser类?   4.2.5 提供程序模型设计模式?   4.2.6 关于SqlMembershipProvider的更多细节?   4.2.7 浏览默认的SQL Server数据库?   4.2.8 图形登录控件?   4.2.9 建立和使用角色?   4.2.10 建立和使用用户资料?   4.2.11 网站管理工具?   4.2.12 设计解决方案?  4.3 解决方案?   4.3.1 配置文件?   4.3.2 创建登录框?   4.3.3 AccessDenied.aspx页面?   4.3.4 UserProfile控件?   4.3.5 用户资料编辑页面?   4.3.6 将用户选择的主题持久化?   4.3.7 管理部分?  4.4 小结? 第5章 新闻与文章管理?  5.1 提出问题?  5.2 设计方案?   5.2.1 要实现的功能?   5.2.2 存储过程?   5.3.3 设计配置模块?   5.2.4 设计数据访问层?   5.2.5 设计业务层?   5.2.6 设计用户界面?   5.2.7 安全需要?  5.3 解决方案?   5.3.1 数据库解决方案?   5.3.2 实现配置模块?   5.3.3 实现数据访问层?   5.3.4 实现业务逻辑层?   5.3.5 实现用户界面?   5.3.6 进行安全性设置?   5.3.7 带有UrlMapping的友好URL?  5.4 小结? 第6章 民意调查?  6.1 提出问题?  6.2 设计方案?   6.2.1 要实现的功能?   6.2.2 处理多次投票?   6.2.3 设计数据库表?   6.2.4 管理数据库的存储过程?   6.2.5 设计配置模块?   6.2.6 设计数据访问层?   6.2.7 设计业务层?   6.2.8 设计用户界面?   6.2.9 PollBox用户控件?  6.3 解决方案?   6.3.1 数据库部分的工作?   6.3.2 实现配置模块?   6.3.3 实现数据访问层?   6.3.4 实现业务逻辑层?   6.3.5 实现用户界面?  6.4 小结? 第7章 邮件列表?  7.1 提出问题?  7.2 设计方案?   7.2.1 关于垃圾邮件的声明?   7.2.2 创建和发送E-mail?   7.2.3 处理服务器上的长时间操作?   7.2.4 设计数据库表?   7.2.5 存储过程?   7.2.6 设计配置模块?   7.2.7 设计数据访问层?   7.2.8 设计业务层?   7.2.9 设计用户界面?  7.3 解决方案?   7.3.1 实现配置模块?   7.3.2 实现数据访问层?   7.3.3 实现业务逻辑层?   7.3.4 实现用户界面?  7.4 小结? 第8章 论坛?  8.1 提出问题?  8.2 设计方案?   8.2.1 设计数据库表?   8.2.2 存储过程?   8.2.3 设计配置模块?   8.2.4 设计数据访问层?   8.2.5 设计业务类?   8.2.6 设计用户界面?  8.3 解决方案?   8.3.1 数据库实现?   8.3.2 实现数据访问层?   8.3.3 实现业务逻辑层?   8.3.4 实现用户界面?  8.4 小结? 第9章 电子商店?  9.1 提出问题?  9.2 设计方案?   9.2.1 选择一种在线付款方案?   9.2.2 使用PayPal作为支付服务?   9.2.3 设计数据库表和存储过程?   9.2.4 设计配置模块?   9.2.5 设计数据访问层?   9.2.6 设计业务层?   9.2.7 设计用户界面?  9.3 解决方案?   9.3.1 实现业务逻辑层?   9.3.2 实现用户界面?  9.4 小结? 第10章 个性化设置与Web Part?  10.1 提出问题?  10.2 设计方案?   10.2.1 开发Web Part?   10.2.2 Web Part架构内置控件? 10.2.3 配置Web Part架构?   10.2.4 总结:设计解决方案?  10.3 解决方案?   10.3.1 创建Web Part?   10.3.2 修改模板页面?   10.3.3 允许进行页面级别的个性化设置?  10.4 小结? 第11章 网站本地化?  11.1 提出问题?  11.2 设计方案?   11.2.1 回顾ASP.NET 1.x中的本地化?   11.2.2 ASP.NET 2.0中新的本地化功能?   11.2.3 使用全局资源?   11.2.4 使用页面级资源?   11.2.5 对更多的静态内容进行本地化?   11.2.6 设置当前语言?  11.3 解决方案?  11.4 小结? 第12章 部署网站?  12.1 提出问题?  12.2 设计方案?   12.2.1 在SQL Server 2005中部署数据库?   12.2.2 部署网站?  12.3 解决方案?  12.4 小结? 插图摘要 书摘插图 第1章 项目介绍——TheBeerHouse   本章介绍的是在本书中要开发的一个项目。将解释该示例网站所涉及到的概念。在阅读过程中 ,读者应当意识到这是一种多功能的、数据驱动的、基于内容模式的网站,而且可以方便地修改该 网站以满足实际需求。虽然本书中会使用许多ASP.NET旧的功能,但重点还是介绍如何在实际网站 开发过程中使用ASP.NET 2.0的强大功能。   本书的每一章都使用“提出问题一设计方案一解决方案”的方法进行讲述:“提出问题”部分提 出每章所要完成的模块的业务需求,“设计方案”部分开发符合这些需求的解决方案,“解决方案 ”部分编写代码来实现设计方案。与传统的计算机书籍不一样,本书并没有重点介绍基本概念,而 是着重展示如何应用学到的知识来解决实际的业务需求。本书可能并不适合初学者,如果您对网站 开发的基本概念和ASP.NET(任何版本的ASP.NET)已经有所了解,并已经实践过,而且您想学习 ASP.NET 2.0中的新知识,那么我们开始吧!   1.1 提出问题 在博洛尼亚(意大利的一个城市)有将近一半的人口是学生,包括许多留学生。由于年轻人很多 ,所以这里有很多酒吧和娱乐场所,能够让他们在晚上和周末一起出来活动。音乐会、聚会、表演 秀等活动经常举办。为了具有竞争力,每个酒吧必须找到一些其他酒吧所没有的、能够吸引潜在顾 客的特色。要有竞争力,营销也非常重要,我们的一个客户希望在这一方面做得更强。该客户原来 一直使用传统印刷广告来宣传她的酒吧TheBeerHouse(一个虚构名字),但现在想尝试新的媒体方 式——创建一个令人兴奋的网站。她认为这很有用,因为顾客一旦熟悉了她的网站就可以去那里看 最新活动的报道;通过邮箱接收新闻邮件;可以浏览过去活动的照片,对它们进行排名;还能同网 站的其他访问者分享信息、建立联系,而且日后他们还能在酒吧里当面进行交流。建立网站的目的 就是吸引顾客,尤其是使目标顾客习惯于通过网站来获得新闻和活动的信息。酒吧是典型的娱乐场 所,拥有很多顾客,它可能要比传统的酒店更需要这样的网站。   1.2 设计方案  每章的“设计方案”部分对该章提出的问题进行讨论,然后设计解决方案。这意味着需要记录一 系列业务需求、项目需要实现的功能、用于数据存储的必要数据库对象的设计,以及用于获取数据 、处理数据和向用户展示数据的类的结构。在项目的开始阶段要考虑用户有何需求,以及怎样来处 理这些需求,在时间和预算允许的条件下尽量扩展需求,使用户能在此基础上获得更多的功能。正 如“提出问题”部分所述,在本书场景中,我们的客户拥有一个酒吧,她希望建立一个网站来推广 她的酒吧,该网站上将提供最新活动的预告信息、已结束活动的报道等。有很多方法可以对这些设 想进行扩展,这样就可以创建一个内容丰富的网站,这对酒吧主人和顾客(也可以是潜在顾客)都 有好处。项目开始时,我们先列出了当今基于内容的网站所应具有的功能:   ?一个吸引人的用户界面。外观很重要,因为用户首先会注意界面,然后才关注网站的功能和 服务。但用户界面不能完全靠图片解决问题,应当合理地组织网站上的信息,使用户可以方便地获 得所需的信息。网站应当符合用户的使用习惯,即用户可以很方便地浏览,方便地进行交互。要注 意跨浏览器的兼容性,例如:要保证网站在不同的平台上和浏览器中都可以正常显示和操作。如果 无法预知用户会使用何种浏览器来访问网站,那么这尤为重要。   ?一个成功的内容网站会在它的用户中有很好的声望。忠诚的用户会经常访问网站来发帖子、 参加投票或其他活动,正是他们才使得网站保持增长。要为这些积极的会员创建一个有活力的社区 ,需要把他们同其他普通会员区别开来。因此,网站需要一个注册功能,作为身份认证的一个基础 部分,该功能也将用于授权以及限制访问网站中的某些页面。   ?网站需要不断更新以保持活力,如果内容一成不变,那么访问者就会对该网站失去兴趣而不 再访问了。一个酒吧的网站应当定期更新活动、聚会和音乐会的预告信息,否则网站不会成功。试 想用户在浏览网站时看不到上次聚会时拍的照片会有何反应?要实现内容的不断更新,就需要一些方 法,能让网站编辑人员方便地更新动态内容。而且,负责网站内容更新的编辑人员很可能不是技术 人员,因此应当创建一些简单的管理页面,这样非技术人员也可以通过这些页面方便地对网站进行 内容更新。   ?当网站上有了新内容之后,网站管理员应当想办法来提醒用户。并非所有的用户每天都访问 该网站,因此管理员应当主动提示用户有关近期的更新。如果用户已经在网站注册过,并提供了 Email地址,那么也可以通过邮件使他们获得网站的更新以及其他内容。当然,还有很多其他的方法 能够提供这些信息,例如:提供真正简单的整合(Really Simple Syndication,RSS),这样,用户注 册后就可以使用RSS阅读器自动获得新闻通知,无需每天访问网站来获得信息了。   ?像这样的网站最适合进行一些顾客 问卷 关于教学调查问卷关于员工内部调查问卷员工内部调查问卷基药满意度调查问卷论文问卷调查格式 调查。例如:顾客在酒吧中最喜欢什么?他们喜欢什么 牌子的啤酒?与朋友一起喝酒时是否想听音乐或是否觉得酒吧太过于吵闹等。建立一些用户与网站之 间的沟通是很重要的,如果能得到相当数量的反馈信息,那么这些信息将引导管理者做出正确的战 略决策和改变,从而提高经营状况。   ?如果说用户与网站之间的沟通是很重要的话,那么用户与用户之间的交流则更加重要,这是 为用户建立社区的主要目的。他们经常访问网站进行聊天,并讨论网 站上的新闻,针对即将举行 的活动向其他用户咨询建议。这些都能为网站带来更多的访问量,让网站无论在短期还是在长期运 营中都能获得回报。  ?商店有了一定顾客基础以后,店主就可以对它进行扩展来实现在线销售。事实上,酒吧已经为 啤酒爱好者提供了一系列商品,像杯子、T恤、钥匙链等。网站的访问量高了,也是提高商品销售 的一个好办法,因为顾客可以不用到酒吧就能购买这些商品。如果用户看到自己喜欢的商品可以对 它进行投票排名,从而让其他用户知道自己对该商品的感受。在线商店应当能够方便地由非技术人 员进行管理,因为很可能是该酒吧主人亲自添加、修改商品信息和进行定单管理的。因此,网站应 有一个操作简单明了的用户界面,它能够自动完成尽量多的操作,并且引导用户在整个过程中进行 操作。  ?由于网站上提供新闻、文章、商品列表、用户讨论等动态内容,因此可以想象网站主页会变得 很拥挤。太多的信息可能会造成阅读困难,引起误解。如果访问者能够根据自己的爱好亲自构建属 于自己的主页那就再好不过了。他可能想看活动预告而不关心在线商店,很好!我们将为他提供这样 的功能,他可以在自己的主页上对内容进行添加和删除,也可以将内容进行移动,使内容重新排列 ,这样浏览者阅读起来会更舒服并且容易获得有用的信息。许多大型网站都提供了这种自定义功能 ,像Windows Live及My MSN都是非常好的示例,自定义功能能够帮助网站吸引更多的用户进行注册 。 ?前面已经提到,酒吧的客人会来自很多不同的国家,我们希望不同国家的人所访问到的网站是一 致的,因此,网站应当全部或者部分地翻译成多种语言,让大部分用户都能容易理解。不仅文本需 要翻译,像日期格式和数字格式这样的信息也应当根据用户的本地设置进行显示,这样就不会有人 把即将举行的聚会或者活动的时间看错。  综上所述,TheBeerHouse网站将拥有当今内容网站的全部功能,包括动态文章和新闻、问卷调查 、论坛、邮件列表、RSS、在线购物、个性化主页以及内容本地化。通过构建示例网站,可以学习构 建当今大多数内容网站和商务网站所包含的主要功能,在将来开发网站时会用到它们。   1.3 解决方案  每章的“解决方案”部分包含了设计步骤和实际代码,用于实现前面两个部分中所提出的功能、 需求以及设计。下面概述以后各章所要讲述的内容。   在第2章中,将实现网站的设计、图形,以及布局。通过使用Master Page——ASP.NET2.0中的一 个新功能,能够让布局在网站的所有页面之间共享。还可以使用“主题”——ASENET 2.0的另外一 个新功能,为Master Page创建一系列不同的外观。这样就可以创建一种机制使访问者可以从下拉列 表中选择自己喜欢的主题,根据自己的喜好来改变网站的色彩和外观,甚至能够避免视觉障碍。最 后通过新的web.sitemap文件以及Menu和SiteMapPath控件来创建一个灵活且易于维护的导航系统。 第3章将为构建一个灵活的、容易配置的功能网站打基础。首先,需要一个插入式的数据访问层 (Data Access Layer,DAL),DAL可以支持任何类型的数据存储,有良好的扩展性,在高使用量中 有很好的表现。然后在DAL的上面构建一个业务逻辑层,使得数据以面向对象的方式展示。逻辑层 还包含了所必需的验证逻辑、事务管理、事件曰志以及高速缓存。最后,介绍用户界面(UI)和表 示层,它们利用新的GridView、DetailsView和FormView控件,并结合ObjectDataSource可以快速生成 功能强大且由数据驱动的复杂页面。 在第4章中,将把ASP.NET 2.0中新的成员功能整合到网站中,以生成用户注册表单,并且支持用户 的身份验证和授权。本章将介绍新的Profile模块,它允许定义用户级别的属性,该属性的值可以持久 保存。这与传统的Session状态变量有很大的区别,Session状态变量只存在于用户浏览网站期间。我 们将要构建一个完整的管理模块,它允许管理员查看成员列表,限制那些在网站上有恶劣行为的成 员,查看和编辑每个用户的详细资料。 在第5章中,将构建一种内容管理系统,这个模块为管理员提供了一个直观的界面来管理网站中的 文章,非技术用户也可以使用它。该模块内置了一个成员系统来确保模块只对有权限的人员开放 ,并跟踪文章作者的最新动态。该模块可以对全部分类或指定分类中的新内容进行汇集而发布一个 RSS源,同时还支持排名和评论等其他许多功能。这些功能很强大,网站编辑人员只要事先准备好格 式丰富的内容,并且设置好内容自动发布和删除的时间,网站就会自动完成更新,这样网站的更新 就变得非常简单,只需要很少的操作和时间。本章最后将描述新的GridView、DetailsView和 ObjectDataSource控件,通过使用这些控件,可以将面向对象业务类中的数据同用户界面进行绑定 ,业务类所包含的数据来自数据访问层。 在第6章中,将讨论如何在网站上创建和管理调查问卷。此模块提供了一个管理控制台,用于通过 Web浏览器来管理投票。还提供了一个用户控件,只需要几行代码就可以把一个调查问卷插入到任 何页面中,同时还包括了一个历史页面,可以在该页面上查看所有的历史投票记录。 在第7章中,将为网站增加一个完整的邮件列表模块,用于向那些注册了详细个人资料的用户发送 新闻邮件。邮件是通过后台线程发送的,没有使用处理页面请求的主线程,这样页面不会产生超时 ,更重要的是,网站编辑人员不会碰到那种好几分钟看到的都是空白页面的情况。使用异步 JavaScript及XML编程技术(Asynchronous JavaScript and XMLProgramming,AJAX)可以实现页面部分 更新,提供新闻的实时更新。用户能够在一个归档页面中看到过去的新闻邮件列表。要实现所有这 些功能,需要使用一些ASENET 2.0的高级功能,例如多线程编程、新的脚本回调功能以及新的邮件 发送类。 在第8章中,将创建一个论坛系统,该系统支持多个子论坛,有合适的可选项,可以对主题和回复 进行分页列表显示,可以用不同方式进行排序,并且支持 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 RSS,可以配置用户排名,支持签名档 、引用以及当今大多数论坛的主要功能。该论坛系统还提供了完整的管理功能(删除、编辑、批准 、移动、关闭主题和帖子)。 在第9章中,将为网站添加一个在线商店。它具有在线商店所必要的功能,包括完整的商品分类和 定单管理系统、购物车、使用信用卡在线支付的功能、商品排名、商品库存状态、使用文本和图片 对商品进行描述、配置送货方式、查看定单状态等。  ⋯⋯ 下载后 点击此处查看更多内容
本文档为【ASP[1].NET_2.0网站开发全程解析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_396068
暂无简介~
格式:pdf
大小:104KB
软件:PDF阅读器
页数:9
分类:互联网
上传时间:2012-04-12
浏览量:46