asp.net可以且不能做什么

如果您是新的Web开发并选择ASP.NET Web Forms作为起点,您可能会被宽恕,因为不了解ASP.NET如何工作,以及其作用是什么。本文介绍了应帮助您发现限制的基础知识。

ASP.NET Web表单是我看来的一个很大的范式,但它有很多才能回答。它鼓励的主要内容之一是Windows形成Web应用程序开发的黑暗面的开发人员。 Web应用程序开发完全不同于Windows窗体,但使用拖放rad环境,以及一个事件驱动的模型,Web表单隐藏了从不知情的大量基本HTTP管道。发生了什么事是,事情在他们期望的时候不起作用。 这个问题 是我已经看到的大量相似的典型,事实上终于提示了这篇文章。

首先,这是Web应用程序如何工作的概述。考虑一家餐馆。你走进去,受到梅特尔d'的欢迎,坐下。你给服务员你的订单,他消失了。一段时间后,他用餐回来。你不知道你的用餐来自哪里或者它是如何准备的。你不在乎,只要它是可食用的。

虽然他走了,但完全从你的视线中,服务员将您的食物订购到厨房的厨师。厨师们突然行动并准备了订单。在没有任何实际工作的情况下,可能已经完成了一部分订单,例如普通面包卷。或者订单可能需要特殊处理,例如油炸或烧烤。这些任务将被传递给厨房内的专家管理。一旦完成,订单将其传递给服务员以进行交付。厨师不知道在做好的食物或它去的地方发生了什么。他不在乎(只要他没有收到投诉)。

Web应用程序就是这样。对于晚餐,阅读客户端。厨师是Web服务器,服务员是请求的传输机制(膳食订单)和响应(熟食)。考虑到请求的URL,客户端使TCP向正确的Web服务器传达的请求。服务器检查请求并决定是否可以在没有进一步的ADO的情况下实现,或者是否需要一些处理。主要检查的请求部分是文件扩展名。这些可能已在服务器中注册并映射到特殊处理器,例如ASP.NET或PHP。或者,在图像或HTML文件的情况下,不需要处理。文件的原始内容被用作响应。

在Web响应的情况下是可口的一餐通常是HTML。如果处理器被调用为播放,而不是在准备响应时烧烤或油炸成分,则执行任何相关或嵌入的代码逻辑,该逻辑负责动态地生成HTML。但是,一旦发送响应,Web服务器就不知道它发生了什么或小心。像服务员一样,它坐在椅子上,等待下一个请求。它与客户端没有持久连接。

javascript适合的地方

JavaScript,与ASP.NET(或任何其他服务器端技术)相关联,生成的网页是客户端脚本技术。它对Web服务器毫无意义。浏览器包含JavaScript解释器,这些解释器负责执行JavaScript代码。只有JavaScript代码只能在浏览器的上下文中运行,并且在此上下文中,它会因此运行 活动 当用户在浏览器中与网页交互时发生。这个事实很重要。这意味着如果没有事件发生,则JavaScript的内容只不过是页面内的嵌入式文本。要理解的是什么也是只有可以在页面内导致事件到火灾的用户。 Web服务器不能。它已将页面发送给用户,并回到椅子上等待下一个请求。

JavaScript可以执行其魔法的程度被其安全模型限制在内。 默认情况下,JavaScript仅限于相对良性的操作集。 它可以操纵当前页面的DOM(DHTML的根),响应当前页面中发生的事件,在浏览器中打开新的浏览器窗口和小提琴,在浏览器中有有限的设置,例如调用打印对话框。 使用XMLHTTPREQUEST,它还可以为脚本在(AJAX)内运行的页面中托管在同一域中托管的内容的其他Web请求。

你能做什么'T作为Web开发人员

希望现在应该明确表示HTML本身完全惰性。 JavaScript只有非常有限的权限。 Web服务器发送响应后,就当前页面而言,服务器可能在烟雾中消失。 这意味着Web开发人员希望这样做有很多东西是不可能的。 虽然不全面,以下列表 无法完成的事情代表了论坛中最常见的事情 www.asp.net.:

  • 强制页面打印而不调用打印对话框
  • 选择打印机
  • 书签一个网站
  • 从浏览器中删除项目's History
  • 从脉冲缓存中删除项目
  • 读取由其他网站设置的cookie
  • 访问客户端's file system
  • 强制用户上传文件
  • 在上传之前获取文件的大小
  • 在上传之前获取图像的尺寸
  • 在上传之前确定文件类型
  • 访问客户端计算机或Web服务器上的数据库
  • 调用Word,Excel,Outlook等
  • 强制用户下载文件或插件而没有提示
  • 获取上传的FilePath
  • 调整他们的页面边距进行打印
  • 更改其默认打印机
  • 禁用后/前向按钮
  • 从他们的注册表中阅读密钥
  • 更改其安全设置
  • 自动在客户端上运行exe
  • 强制他们启用cookie
  • 强制他们启用JavaScript
  • 访问另一个站点上的页面

那么如果业务需求要求它们,您如何执行这些操作? 有许多选项。 传统上,开发人员创建了ActiveX控件,用户必须同意下载和安装。 可以找到更多信息 这里, 但它们有限,因为他们只能与Internet Explorer一起使用。 这通常是所有的'企业Intranet站点所需的S,虽然如果IT安全团队禁止安装插件或ActiveX,但您有问题。

第二个选项是使用Flash或Silverlight。 与ActiveX控件一样,可以授予这些技术的特定权限以访问本地文件系统以及网络位置。 但是,与ActiveX控件不同,它们不限于Internet Explorer浏览器作为主机。 对于两种类型的应用程序,有许多不同浏览器存在插件。最终选项是简单地创建一个EXE,用户选择要下载和安装,如任何其他应用程序。