Uh, oh, too quick. Not working, to fix it I have to return full script path from Canonize... next time i'll have a patch...
On 9 Kwi, 12:33, nightwatch77 <[email protected]> wrote: > 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.
