So does the scope creator manage reuse of instances only or is it scoping their lifetime as well, or do they get scoped by the root. How do you handle scenarios like this one:
a - transient
b - singleton
c - scoped

a depends on b and c, b depends on c

what happens to c when you release a?

how do you handle scenarios like this one where d is scoped and c imports ScopeFactory<d>

a depends on b and c, b depends on c

assuming c is transient would you get two instances of d (each for every c) as well when pulling a?



On 10/03/2011 12:53 PM, hammett wrote:
This should come in the next codeplex drop. We have a scope creator API. We also have a catalog that uses transitive closure to automatically partition itself based on uses of the scope creator.

So if you have

class App
{
  [Import]
  ScopeFactory<Document> DocFactory ...
}

class Document
{
}

We infer that App is a parent scope of the Document scope.

That's the basic, but it gets very complex very quickly.



2011/3/9 Krzysztof Koźmic <[email protected] <mailto:[email protected]>>

    I'm all ears.


    On 10/03/2011 12:43 PM, hammett wrote:
    Krzysztof,
    Do you want to know how we dealt with this in MEF?


    2011/3/8 Krzysztof Koźmic <[email protected]
    <mailto:[email protected]>>

        Yeah,

        that's one of the main scenarios I want this to support. I'm
        scribbling some ideas right now... I'll post that once it
        solidified a bit...


        On 09/03/2011 11:53 AM, hammett wrote:
        Interesting. Is there a variation that will allow a
        component to start/end a scope in runtime?

        Suppose you have a MDI app. Each File | New Document is
        potentially starting a new 'document' scope.



        2011/3/8 Krzysztof Koźmic <[email protected]
        <mailto:[email protected]>>

            Hi,

            I created a site in the wiki where I'll throw my
            semi-structured thoughts and ideas for implementing one
            of the biggest new features for Windsor Wawel (aka
            vNext) - scoping.
            
http://docs.castleproject.org/Windsor.Scratchpad-scopes-in-Windsor-codename-Wawel.ashx?NoRedirect=1&NS=Windsor
            
<http://docs.castleproject.org/Windsor.Scratchpad-scopes-in-Windsor-codename-Wawel.ashx?NoRedirect=1&NS=Windsor>

            I would really appreciate if you guys shared your
            thoughts and ideas on this (it's an open wiki - go wild,
            contribute to the brainstorming).

            Also make sure you click the small semi-hidden envelope
            icon in upper right corner to subscribe to notifications
            of changes to the site.




            Thanks in advance for all your ideas and contributions.
            If we get this done, we should be pretty much ready to
            release first preview.

            cheers,
            Krzysztof
-- You received this message because you are subscribed to
            the Google Groups "Castle Project Development List" group.
            To post to this group, send email to
            [email protected]
            <mailto:[email protected]>.
            To unsubscribe from this group, send email to
            [email protected]
            <mailto:castle-project-devel%[email protected]>.
            For more options, visit this group at
            http://groups.google.com/group/castle-project-devel?hl=en.




-- Cheers,
        hammett
        http://hammett.castleproject.org/
-- You received this message because you are subscribed to the
        Google Groups "Castle Project Development List" group.
        To post to this group, send email to
        [email protected]
        <mailto:[email protected]>.
        To unsubscribe from this group, send email to
        [email protected]
        <mailto:[email protected]>.
        For more options, visit this group at
        http://groups.google.com/group/castle-project-devel?hl=en.

-- You received this message because you are subscribed to the
        Google Groups "Castle Project Development List" group.
        To post to this group, send email to
        [email protected]
        <mailto:[email protected]>.
        To unsubscribe from this group, send email to
        [email protected]
        <mailto:castle-project-devel%[email protected]>.
        For more options, visit this group at
        http://groups.google.com/group/castle-project-devel?hl=en.




-- Cheers,
    hammett
    http://hammett.castleproject.org/
-- You received this message because you are subscribed to the
    Google Groups "Castle Project Development List" group.
    To post to this group, send email to
    [email protected]
    <mailto:[email protected]>.
    To unsubscribe from this group, send email to
    [email protected]
    <mailto:[email protected]>.
    For more options, visit this group at
    http://groups.google.com/group/castle-project-devel?hl=en.

-- You received this message because you are subscribed to the Google
    Groups "Castle Project Development List" group.
    To post to this group, send email to
    [email protected]
    <mailto:[email protected]>.
    To unsubscribe from this group, send email to
    [email protected]
    <mailto:castle-project-devel%[email protected]>.
    For more options, visit this group at
    http://groups.google.com/group/castle-project-devel?hl=en.




--
Cheers,
hammett
http://hammett.castleproject.org/
--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" 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/castle-project-devel?hl=en.

--
You received this message because you are subscribed to the Google Groups "Castle 
Project Development List" 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/castle-project-devel?hl=en.

<<image/png>>

Reply via email to