ssc ajax.ashx,Script# 入门

(4)Microsoft ASP.NET AJAX-based Components, Controls and Behaviors.

Microsoft ASP.NET AJAX 提供一个为实现components,控件和行为的core frameworks.你能使用Script# frameworks取代它.这个工作正确的就像Class Library模型样.只不同是它引用Microsoft ASP.NET AJAX runtime和core APIs现在被Script# runtime and core APIs取代了.

编译器的功能是几乎一样.只不过一个些编译器特性也已经丧失,各种来于核心类型的APIs已经被移出,是指的是不支持Microsoft ASP.NET AJAX runtime 下,但其实Script#  framework是被支持间接的ASP.NET AJAX runtime;可是要在,如果你想要强制你的程序依靠ASP.NET AJAX runtime,这些还是允许你使用Script# 开发的方式和编译器.

关于使用ASP.NET AJAX 模式和他的限制的描述在Using Script# with Microsoft ASP.NET AJAX.(请看ScriptSharp.pdf)

--------------------------------------------------------

好的现在我们先来看它的类库:如下图

6c1555302777729326ca3efa0910d9ec.png

atlas文件夹

6c1555302777729326ca3efa0910d9ec.png

framework

The Script# Framework And Class Library

这是介绍Script# Frameworks的部分.为APIs全部的文档都来于XML doc-commments,XML doc-commments能使用像.NET Relector的工具.最终doc-commments将被编译进入帮助.

(1)Script Type System and Base Class Library

类型系统和基类库是表现在sscorlib.dll assembly和它的相配的是sscorlib.js script 文件.在编译器编译Script#时这些必须被引用.这个 Core Scrpit library包括扩展标准的JavaScript objects如Function, Array, String, Number, etc. 还有一些新的类型.

类型系统库是模拟OOP架构构造了这个架构并产生了模仿C#源代码的代码.这个OOP创建包括namespaces, classes, interfaces, enumerations, and delegates .实现允许在运行环境检测类型的返回类型名,base classes,检测一个接口的实例实现的.类型系统使用JavaScript的 prototype特性来定义类.

base class library是部分实现是扩展Object的prototype,如Array, String, Number, Date etc 等提供一个API与.Net一致,还有API用于scripting环境是超过在.NET中的能力.base class library还提供一些新的类型如StringBuilder,CultureInfo,Debug 等.还有兼容性如string formating 是简化各种用户script的表现.

(2)Script# Framework

Script# Framework 是assemblies的集合提供一个script-base application和编程模型.如果你有唯一性的要求,它能在Script#首先没有依赖Script# Framework时实现一个选择另外的framework.

Core Programming Model,Networking,and UI Concepts -------ssfx.Core.dll

这个assembly所提共的核心编程模型都在ScritpFX namespace中,结合一个应用程序类和描述服务如dispose mechanism, history management, session state, idle task execution, and script loading .它还结合一般使用有效类型管理事件操作,执行JSON serialization ,侦查浏览器和主机的信息等.

ScriptFX.Net namespace 提供高级的HTTP-based networking stack 是基于HTTPRequest/HTTPResponse 类,这个有用的特性就像timeouts, request building, scheduled execution, custom caching, and monitoring hooks via a centralized HTTPRequestManager等.它还为plug 提供可扩展模型在对不同的传输方式(如 XMLHttp)执行正确的网络请求.

ScriptFX.UI namespace提供核心底层结构类联合关于DOM 元素的script-based logic.详细它介绍控件和行为的概念.还有它为UI 元素定义的核心接口的约定.它还提供高性能扩展动画核心,使用它能在你的应用程序中制作出混合炫目的视觉效果.在未来将和其他的核心UI底层结构和服务(如  templating和 drag/drop)相一致.

Cross-Domain AJAX using JSONP ------ssfx.XDAjax.dll

这个assembly提供实现一个选择性的HTTPTransport,在ScriptFX.Net namespace中能在networking system中使用插件,允许你跨域请求执行(cross-domain)你所使用的script标签和 JSONP端口.

UI Controls and Behaviers ------ssfx.UI.Forms.dll

这个assembly提供在Web页面执行forms时,共同使用行为和控键的实现.这包含控键像TextBox, Button 等.还有高级特性如一个丰富的AutoComplete behavior, Watermark behavior ,他们能追加在放入的 textbox中.在未来,这个assembly将被提供新的特性如validation, calendar controls 等.

Reflection Utility------ssfx.Reflection.dll

这个assembly 提供高级像.Net样的反编译功能,在ScriptFX.Reflection namespace中,这个命名空间为了列举命名空间,类型和成员.这个能使用去实现class-browsing场景和应用程序.

Microsoft Silverlight XAML DOM - ssagctrl.dll

这个assembly提供APIs去制作的程序依靠Microsoft Silverlight control内部浏览.详细的就是它允许编程依靠XAML DOM在授权的AJAX 应用程序中制造脚本使用vector graphics, media and animations等提供给Silverlight control.

Windows Vista Sidebar Gadgets-----ssgadgets.dll

这个assembly允许编程依靠脚本的APIs去使用开发 gadgets,能运行在Microsoft Windows Vista Sidebar中.

File System APIs-----ssfso.dll

这个assembly提供一个metadata assembly允许程序依靠用户的RSS的存储被引用到IE7.0中.像文件系统APIs清单上,这个API只允许受信任的Web浏览器以外的应用程序使用.如 gadgets.这个APIs允许subscribing/unsubscribing to RSS feeds.和当前用户的RSS feeds中访问数据.

Naming Convention

你也许已经注意一个命名转换在被使用.真正的有这样一个模式.所有的assemblies名叫ssfx.*.dll表现形式是script实现的framework.所有的其他ss*.dll assemblies 表现当前的script APIs或已经被导入的script的API.

------------------------------------------------

现在已经基本知道Scirpt# framework的结构和它能做些什么.具体的你可以打开的安装目录下的framework,atlas来查看.

现在就来一个"Hello World Application"

The Hello World Application (Using Scriptlets for Script Code-behind)

第一个sample,我们将构建一个流行的Hello World Script#,和怎样增强它的AJAX特性.

Step1:创建一个新的Script#-enabled Web site

6c1555302777729326ca3efa0910d9ec.png

Script# 提供一个Web site模版,避免你对于使用不同文件和配置的麻烦.所以你现在就可以开始使用Script#.

这个Web site结构看上去你会看到Script# assemblies 是在Bin\scirpt文件夹里面和相应的debug和release scirpt文件是在App_Script folder文件夹里面.

6c1555302777729326ca3efa0910d9ec.png

Step2:添加一个HTML创建一个"Hello World" 页面

这个Web site包括一个Default.aspx页面,包括引用server控件.这个一个控件提供Script#和我们将看到怎样帮助你所提到的两个方面(它提供的是Script#控件而不是依赖Asp.net或asp.net server controls).

在下面的内容中是创建Web site模版中添加的default page提供的用户接口实现Hello World场景.

6c1555302777729326ca3efa0910d9ec.png

6c1555302777729326ca3efa0910d9ec.png@ Page Language="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">Hello World Script# Style6c1555302777729326ca3efa0910d9ec.png6c1555302777729326ca3efa0910d9ec.png6c1555302777729326ca3efa0910d9ec.png

6c1555302777729326ca3efa0910d9ec.pngEnter your Name: 6c1555302777729326ca3efa0910d9ec.png 6c1555302777729326ca3efa0910d9ec.pngOK
6c1555302777729326ca3efa0910d9ec.png 6c1555302777729326ca3efa0910d9ec.png
6c1555302777729326ca3efa0910d9ec.png 6c1555302777729326ca3efa0910d9ec.png 6c1555302777729326ca3efa0910d9ec.png 6c1555302777729326ca3efa0910d9ec.png using System; using ScriptFX; public class MyScriptlet 

6c1555302777729326ca3efa0910d9ec.png{ public static void Main(ScriptletArguments arguments) { } }6c1555302777729326ca3efa0910d9ec.png6c1555302777729326ca3efa0910d9ec.png6c1555302777729326ca3efa0910d9ec.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值