Search code examples
silverlightanalytics

Using Silverlight Analytics framework in SL5


I have created a silverlight 5 project and added a textbox control to a xaml page, then added a tract action behavior to the textbox control. Also added the ServiceOrientedAnalytics component on the main.xaml page and configured the endpoint to my wcf service. When I tried to execute the project I am getting the following error message. The same works good in SL4. I am able to track the events in SL4 and its all working fine. Could anyone help me in resolving this issue.

I also downloaded the latest source code of Microsoft Analytics from codeplex site and added to my project, when I tried to debug, the same exception is happening when it is tring to import the Log.

Error Message :

   at System.Windows.Navigation.PageResourceContentLoader.EndLoad(IAsyncResult asyncResult)
   at System.Windows.Navigation.NavigationService.ContentLoader_BeginLoad_Callback(IAsyncResult result)
Caused by: Add value to collection of type 'System.Windows.Interactivity.TriggerCollection' threw an exception. [Line: 22 Position: 27]

   at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
   at SL5CompatibilityTest.Home.InitializeComponent()
   at SL5CompatibilityTest.Home..ctor()
Caused by: The composition remains unchanged. The changes were rejected because of the following error(s): The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information.

1) No valid exports were found that match the constraint '((exportDefinition.ContractName == "Log") AndAlso (exportDefinition.Metadata.ContainsKey("ExportTypeIdentity") AndAlso "System.Void(Microsoft.WebAnalytics.AnalyticsEvent)".Equals(exportDefinition.Metadata.get_Item("ExportTypeIdentity"))))', invalid exports may have been rejected.

Resulting in: Cannot set import 'Microsoft.WebAnalytics.Behaviors.TrackAction.Log (ContractName="Log")' on part 'Microsoft.WebAnalytics.Behaviors.TrackAction'.
Element: Microsoft.WebAnalytics.Behaviors.TrackAction.Log (ContractName="Log") -->  Microsoft.WebAnalytics.Behaviors.TrackAction


   at System.ComponentModel.Composition.CompositionResult.ThrowOnErrors(AtomicComposition atomicComposition)
   at System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.Compose(CompositionBatch batch)
   at System.ComponentModel.Composition.Hosting.CompositionContainer.Compose(CompositionBatch batch)
   at System.ComponentModel.Composition.CompositionInitializer.SatisfyImports(ComposablePart part)
   at System.ComponentModel.Composition.CompositionInitializer.SatisfyImports(Object attributedPart)
   at Microsoft.WebAnalytics.Behaviors.TrackAction.OnAttached()
   at System.Windows.Interactivity.TriggerAction.Attach(DependencyObject dependencyObject)
   at System.Windows.Interactivity.TriggerActionCollection.OnAttached()
   at System.Windows.Interactivity.AttachableCollection`1.Attach(DependencyObject dependencyObject)
   at System.Windows.Interactivity.TriggerBase.Attach(DependencyObject dependencyObject)
   at System.Windows.Interactivity.TriggerCollection.ItemAdded(TriggerBase item)
   at System.Windows.Interactivity.AttachableCollection`1.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Windows.DependencyObjectCollection`1.TryCollectionChanged(NotifyCollectionChangedEventArgs e)
   at System.Windows.DependencyObjectCollection`1.System.Collections.IList.Add(Object value)
   at MS.Internal.XamlManagedRuntimeRPInvokes.Add(XamlQualifiedObject& qoCollection, XamlPropertyToken inCollectionProperty, XamlQualifiedObject& inValue)

Solution

  • I have identified an issue with MEF and Silverlight 5 and I am working to resolve it. The DataCollector.Log method is not found by MEF.

    Michael S. Scherotter (creator of the MSAF).