tag:blogger.com,1999:blog-7240109143089619921.post9100365172683101304..comments2024-03-28T10:38:43.864+01:00Comments on Coding Grounds: MEF and memoryTore Aurstadhttp://www.blogger.com/profile/04987676273327898993noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-7240109143089619921.post-31544598055106433092017-02-18T08:17:55.375+01:002017-02-18T08:17:55.375+01:00Are you looking to earn money from your websites o...Are you looking to <b>earn money</b> from your <b>websites or blogs</b> via <b>popunder ads</b>? <br />In case you do, did you try using <b><a href="http://popups.syntaxlinks.com/r/PropellerAds" rel="nofollow">PropellerAds</a></b>?Bloggerhttps://www.blogger.com/profile/07287821785570247118noreply@blogger.comtag:blogger.com,1999:blog-7240109143089619921.post-79774321688525539052013-07-14T06:58:05.533+02:002013-07-14T06:58:05.533+02:00Check out MEF 2 in .NET 4.5. It got ExportFactory ...Check out MEF 2 in .NET 4.5. It got ExportFactory and I have written an article of how to use it together with ServiceLocator to be able to dispose parts on demand: <br /><br />http://toreaurstad.blogspot.no/2013/07/mef-and-memory-in-mef-2.htmlTore Aurstadhttps://www.blogger.com/profile/04987676273327898993noreply@blogger.comtag:blogger.com,1999:blog-7240109143089619921.post-50197929557670810462013-06-01T00:12:17.583+02:002013-06-01T00:12:17.583+02:00I also had problems with Shared parts. I modified...I also had problems with Shared parts. I modified the CustomCatalog like so and it works as expected now :<br /><br /> public class CustomCatalog : ComposablePartCatalog<br /> {<br /> private readonly ComposablePartCatalog _innerCatalog;<br /> private readonly Dictionary _partDefinitions;<br /><br /> public CustomCatalog(ComposablePartCatalog catalog)<br /> {<br /> _innerCatalog = catalog;<br /> _partDefinitions = new Dictionary();<br /> }<br /><br /> public override IEnumerable> GetExports(ImportDefinition definition)<br /> {<br /> var exports = _innerCatalog.GetExports(definition);<br /> return exports.Select(e => new Tuple2(<br /> GetCustomPart(e.Item1), e.Item2));<br /> }<br /><br /> private CustomComposablePartDefinition GetCustomPart(ComposablePartDefinition part)<br /> {<br /> if (_partDefinitions.ContainsKey(part))<br /> return _partDefinitions[part];<br /><br /> var customPart = new CustomComposablePartDefinition(part);<br /> _partDefinitions[part] = customPart;<br /> return customPart;<br /> }<br /><br /> public override IQueryable Parts<br /> {<br /> get<br /> {<br /> return _innerCatalog.Parts<br /> .Select(p => GetCustomPart(p)).Cast()<br /> .AsQueryable();<br /> }<br /> }<br /> }Christian Lavalleehttps://www.blogger.com/profile/03328228573896401098noreply@blogger.comtag:blogger.com,1999:blog-7240109143089619921.post-28233457183029695582013-02-26T14:01:15.069+01:002013-02-26T14:01:15.069+01:00I have checked that it is making new instance for ...I have checked that it is making new instance for Shared parts, every time they are requested.Anonymoushttps://www.blogger.com/profile/16187577899116530519noreply@blogger.comtag:blogger.com,1999:blog-7240109143089619921.post-72402071539103930782013-01-09T20:28:13.788+01:002013-01-09T20:28:13.788+01:00Hey Tore, I reached this post from Google after se...Hey Tore, I reached this post from Google after seeing the horrible memory leak caused by MEF in my web application (HttpHandler based, no MVC). Your approach works like a charm after I made a slight modification. <br /><br />Very appreciate your investigation on this issue and sharing the solution. Hope to talk to you later about the MEF.abedonhttps://www.blogger.com/profile/09845894607040755789noreply@blogger.com