DCSIMG
Extensibility,extension - Bnaya Eshet

Bnaya Eshet

Disclaimer

Browse by Tags

All Tags » Extensibility » extension (RSS)
MEF - Best Practice
MEF - Best Practice In this post I will offer MEF   practice that may ease your MEF life . one of the MEF headache is to understand what's goes wrong, when MEF reject the composition , you can read more about MEF diagnostic in this post.  Most of the obscure loading failure happens when your Export dependencies doesn't satisfied . in those case you solely relay on the MEF error message which is not enough in cases of deep dependencies graph. It will normally occurs when you are...
SDP - MEF (Real-Life patterns)
SDP - MEF (Real-Life patterns) On the last day of the SDP at Crown Plaza Hotel, Tel Aviv. I was lecturing about Real-Life scenario of MEF failures . the lecture was focusing on diagnostic , solutions and testing . I want to thanks all attendant's, It was the after lunch session and you were bravely kept your eyes open.   the presentation pdf can be found here .   you can use the following check-list as recommended diagnostic process .   Diagnostic Check-List Is the instance included...
Dynamic MEF isn't thread safe by nature
Dynamic MEF isn't thread safe by nature this post focus a pitfall which you should be aware in order to avoid sporadic crashes. In general most of MEF operation are operate once at the application initialization stage, and it normally happens on a single thread.   this may not be true when you need to dynamically load MEF parts (using GetExportedValue or SatisfyImportsOnce ).   unfortunately MEF underline is using non concurrent dictionary which is not thread safe for the above operation...
Exporting non Exportable types
Exporting non Exportable types this post extend Glenn Block 's post about " Poco, Mef, and custom type systems. Are you ready to take the red pill?"   the post is adding a compile time attribute export model , Directory catalog and migrate Glenn code to VS 2010 . It is very recommended to read Glenn Block 's post before reading this one.   the code sample for this post can be download from here .   Summarizing Glenn's post in general Glenn show how to add attributes...
Post recommendation
if you want to learn more about MEF backstage you can find more information under the following post: MEF: What and why http://blogs.msdn.com/b/hammett/archive/2010/05/29/mef-what-and-why.aspx
MEF for Beginner (Deployment Catalog) - part 12
MEF for Beginner (Deployment Catalog) - part 12   this is the 12th post of the MEF for Beginner series, the series TOC is available here . this post will focus on Deployment Catalog .   the code sample for this post can be found here .     What is MEF Deployment Catalogs? the deployment catalog is actually a redesign of the older package catalog . it enable to load parts from xap packages a-synchronically.   Code sample the following code sample depend on 2 assembly that...
MEF for Beginner (Import from Xaml) - part 11
MEF for Beginner (Import from Xaml) - part 11 this is the 11th post of the MEF for Beginner series, the series TOC is available here . this post will focus on Importing mef parts directly from the Xaml . the code sample for this post is available here .   assuming that we have the following exports : Code Snippet class DemoStrings {     [ Export ( "MyTag" )]      public string Text1 { get { return "Hello world" ; } }     ...
MEF Preview 9 released
MEF Preview 9 was released   MEF   preview 9 changes will be reflected the in the release of .NET 4.0 and Silverlight 4.0 .   except from bug fixing, there was some changes to the API , most of the changes is related to  System.ComponentModel.Composition.Initilization.dll , which is not yet available only for none Silverlight application :-(   here is a short list of API changes: PackageCatalog were brought back, and changed it name to DeploymentCatalog . PartCreator was...
MEF for Beginner (Catalogs) - part 10
MEF for Beginner (Catalogs) - part 10 this is the 10th post of the MEF for Beginner series, the series TOC is available here . this post will focus on Catalogs .   What is MEF Catalogs? MEF container is using catalogs as its search area definition. the catalog have instructions about where can MEF look for the compose-able parts ( import and export definitions ). in short catalogs are actually a discovery instruction .   Out of the box catalogs MEF is shipping with the following out of...
does MEF apply the SOA paradigm?
does MEF apply the SOA paradigm?   in this post I'm going to argue that the Manage Extensibility Framework ( MEF ), is actually applying to the 4 tenet of Service Orientation Architecture ( SOA ), therefore MEF is actually, in-process implementation of the SOA paradigm.   Background when we speaking about SOA we used to think about technologies like web services and WCF , which is cross process technologies. but does SOA define that services should always be consumed from the clouds...
MEF for Beginner (repeatable metadata) - part 9
MEF for Beginner (repeatable metadata) - part 9 this is the 9th post of the MEF for Beginner series, the series TOC is available here . this post will focus on having repeatable metadata definition (cases like definition of multiple categories). if you not familiar with the MEF metadata concept you may want to read part 8 .   Bad practice for repeatable metadata In order to explain repeatable metadata , we will start by decorating export with untyped metadata declaration ( which consider as...
MEF for Beginner: TOC
MEF for beginner is a blog series for developers that want to learn How To use the MEF (Manage Extensibility Framework) technology.   the following post is currently available for this series: Concept How To build your first MEF application Hello Silverlight A-sync Silverlight loading Import   Part Creation policy Recomposition policy   Metadata (part 1)   Metadata (part 2 – repeatable) Catalogs   Import from Xaml   Deployment Catalog   תגים של Technorati:‏ MEF...
MEF for Beginner – Part 3 (Hello Silverlight)
MEF for Beginner – Part 3 (Hello Silverlight) in this post we will cover the basic steps that is needed for building your first Silverlight MEF application. you can find more about the MEF on part 1 , part 2 of this series, the series TOC is available here . the following instructions will lead you through very simple steps of building simple Silverlight shell application that can consume plug-ins . this post is written on Visual Studio 2010 and Silverlight 4.0 ( using Visual studio 2008 and Silverlight...
MEF for Beginner – Part 2 (VS 2010)
MEF for Beginner – Part 2 (VS 2010) How To build your first MEF application   in this post we will cover the basic steps that is needed for building your first MEF application. you can find more about the MEF concept on part 1 of this series.   the next following instructions will lead you through very simple steps of building simple Logger application. this post is written on Visual Studio 2010 , use this link for the Visual studio 2008 version. the Silverlight version will be discuss...
One MEF to rule them all (Part 1)
This post is the first of short series which will cover the task of creating simple Rule Engine using MEF technology. from technical perspective the series will talk about the following techniques: Filtering MEF results using custom catalog Exporting both classes and methods Using metadata the post code is available for download here Prerequisite this post assume basic understanding of the MEF technology (for MEF introduction read this post)   Part 1 part 1 will focus on filtering MEF results...