For Silverlight, a custom PAL is needed to override methods like "FileExists", 
"LoadAssemblyFromPath", etc, since Silverlight should look inside the XAP file 
when anything that assumes access to the file system is used.

The fact that we have a custom PAL in Silverlight a little strange, as we 
should support hosting the DLR in C# Silverlight apps by just having the 
assembles build with Silverlight, but if you can't change the DLR code and want 
a different platform behavior, overriding the PAL is the way to go.

~js

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:users-
> [EMAIL PROTECTED] On Behalf Of Michael Foord
> Sent: Tuesday, June 10, 2008 1:16 PM
> To: Discussion of IronPython
> Subject: Re: [IronPython] Hosting API and PlatformAdaptationLayer
>
> 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: [EMAIL PROTECTED] [mailto:users-
> >> [EMAIL PROTECTED] On Behalf Of Orian, Helmut
> >> Sent: Tuesday, June 10, 2008 4:00 AM
> >> To: [email protected]
> >> 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
> >> [email protected]
> >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> >>
> >
> > _______________________________________________
> > Users mailing list
> > [email protected]
> > 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/
>
> _______________________________________________
> Users mailing list
> [email protected]
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to