There's too much abstraction for me in Rhino DSL to come up with
something that works in every case.
For a quick fix the CanonizeUrl method should do nothing, then the
script file name will match the cache key.

R
On 8 Kwi, 14:09, Ayende Rahien <[email protected]> wrote:
> That is why we have tests for :-)
>
> On Thu, Apr 8, 2010 at 1:53 PM, nightwatch77 <[email protected]>wrote:
>
>
>
> > Yes, but this would require some refactoring in Rhino DSL
> > DslEngine is responsible for normalizing the url, but it doesn't know
> > the base script directory...
> > I'm afraid that if I tried to fix that I'd break something else.
> > R
>
> > On 8 Kwi, 12:31, Ayende Rahien <[email protected]> wrote:
> > > Hm,
> > > A better fix would be to make sure that the url used the proper root...
>
> > > On Thu, Apr 8, 2010 at 1:29 PM, nightwatch77 <[email protected]
> > >wrote:
>
> > > > Hi, I've found a problem with Rhino.DSL when used in a web
> > > > application. It appears that Rhino.DSL was recompiling a script over
> > > > and over, generating a new assembly on each use and crashing the
> > > > application in the end. I've tracked the cause of this problem to be
> > > > the DSLFactory.cs, line 114:
>
> > > > type = engine.Cache.Get(engine.CanonizeUrl(url));
>
> > > > this code checks if the dynamically generated type is in cache for
> > > > given script url. The default engine.CanonizeUrl() function returns a
> > > > full path of script file, but in case of web applications the full
> > > > path is assumed to be in c:\windows\system32\inetsrv...
> > > > this wouldn't be a problem, if CanonizeUrl was used also when putting
> > > > things in the cache, but it's not - actual script file locations are
> > > > used instead. In effect DSLFactory is never able to retrieve a type
> > > > from the cache and recompiles scripts every time.
> > > > Sorry but I don't have the code to reproduce this, I've 'fixed' it (by
> > > > overriding DslEngine.CanonizeUrl).
> > > > Best regards
> > > > RG
>
> > > > --
> > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "Rhino Tools Dev" group.
> > > > To post to this group, send email to [email protected].
> > > > To unsubscribe from this group, send email to
> > > > [email protected]<rhino-tools-dev%2Bunsubscribe@
> > > >  googlegroups.com>
> > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com>
> > > > .
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/rhino-tools-dev?hl=en.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Rhino Tools Dev" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<rhino-tools-dev%2Bunsubscribe@ 
> > googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/rhino-tools-dev?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en.

Reply via email to