[IronPython] Hosting API and PlatformAdaptationLayer

Michael Foord fuzzyman at voidspace.org.uk
Tue Jun 10 22:15:42 CEST 2008


What's the use case for doing this?

Michael

Jimmy Schementi wrote:
> The public API to do this is ScriptRuntimeSetup.HostType; an example of using this is in Silverlight. Take a look at Microsoft.Scripting.Silverlight/BrowserPAL.cs and Microsoft.Scripting.Silverlight/BrowserScriptHost.cs. Here's the basics:
>
> class YourPAL : PlatforAdaptationLayer {
>   static readonly YourPAL PAL = new YourPAL();
>   ...
> }
>
> class YourScriptHost : ScriptHost {
>   ...
>
>   public override PlatformAdaptationLayer PlatformAdaptationLayer {
>     get {
>       return YourPAL.PAL;
>     }
>   }
> }
>
> // In code that hosts the DLR:
> ScriptRuntimeSetup setup = new ScriptRuntimeSetup(true)
> setup.HostType = typeof(YourScriptHost)
> ScriptRuntime runtime = ScriptRuntime.Create(setup)
> ...
>
> Make sense?
> ~Jimmy
>
>   
>> -----Original Message-----
>> From: users-bounces at lists.ironpython.com [mailto:users-
>> bounces at lists.ironpython.com] On Behalf Of Orian, Helmut
>> Sent: Tuesday, June 10, 2008 4:00 AM
>> To: users at lists.ironpython.com
>> Subject: [IronPython] Hosting API and PlatformAdaptationLayer
>>
>> At the moment I am hosting IronPython and IronRuby using the sources
>> from the Silverlight2beta1 SDK which I recompiled to work against .NET
>> 2.0 because it is the latest build of the DLR I found where both
>> projects work with a common Microsoft.Scripting.dll.
>>
>> We have a client-server architecture and all our config-files and other
>> script language files (like xsl and some own languages :-) are stored
>> and versioned in our central application server instead of a harddisk.
>>
>> For the initial python script I want to execute this was no problem,
>> but
>> to get the import statement of python ('require' in ruby) to work I
>> implemented a class deriving from
>> Microsoft.Scripting.PlatformAdaptationLayer. This implementation worked
>> perfectly for me, but I have not found a way to bootstrap ScriptRuntime
>> and ScriptHost with my implementation by using the current public API
>> in
>> Microsoft.Scripting.
>>
>> I had to use an own implementation derived from ScriptHost to inject my
>> derived PlatformAdaptationLayer instance with (ugly) reflection into
>> the
>> ScriptRuntime.
>>
>> It would be nice if I could set/use my derived PlatformAdaptationLayer
>> instance by public API.
>>
>>
>> Thanks,
>> Helmut
>>
>>
>> -----------------------------------------------------------------------
>> ----
>>
>>  An- und Abmeldung zur SCHEMA Mailingliste unter
>> http://www.schema.de/mail
>>
>> -----------------------------------------------------------------------
>> ----
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.ironpython.com
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>     
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>   


-- 
http://www.ironpythoninaction.com/
http://www.theotherdelia.co.uk/
http://www.voidspace.org.uk/
http://www.ironpython.info/
http://www.resolverhacks.net/




More information about the Ironpython-users mailing list