I'm following the steps in the getting started section for the Silverlight OLAPClient control. Everything seems to work fine, I'm connecting to the svc I've setup and can even call the functions exposed e.g. getCubes and return cubes from our Adventure Works db. However, I think I'm not using the DataManager properly as I'm getting a "Error While Bind DataManager" error when the UIElement loads. Perhaps I'm not using the OlapDataManager correctly?
When I manually call GetCubes(), the following is thrown:
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; OfficeLiveConnector.1.5; OfficeLivePatch.1.3)
Timestamp: Tue, 7 Dec 2010 23:03:06 UTC
Message: Unhandled Error in Silverlight Application
Code: 4004
Category: ManagedRuntimeError
Message: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: SelectedIndex
at System.Windows.Controls.Primitives.Selector.OnSelectedIndexChanged(Int32 oldIndex, Int32 newIndex)
at System.Windows.Controls.Primitives.Selector.OnSelectedIndexChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.RaisePropertyChangeNotifications(DependencyProperty dp, Object oldValue, Object newValue)
at System.Windows.DependencyObject.UpdateEffectiveValue(DependencyProperty property, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, ValueOperation operation)
at System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp, Object value, Boolean allowReadOnlySet)
at System.Windows.DependencyObject.SetValue(DependencyProperty property, Int32 i)
at System.Windows.Controls.Primitives.Selector.set_SelectedIndex(Int32 value)
at Syncfusion.Silverlight.Client.Olap.OlapClient.CubeInfoCollectionChanged(Object sender, CubeInfoCollectionChangedEventArgs e)
at Syncfusion.OlapSilverlight.Manager.OlapDataManager.NotifyCubeInfoCollectionChanged()
at Syncfusion.OlapSilverlight.Manager.OlapDataManager.<>c__DisplayClass6.
b__4()
Line: 56
Char: 13
Code: 0
URI: http://localhost:53833/SyncFusionTestTestPage.aspx
My implementation:
public MainPage()
{
InitializeComponent();
OlapDataManager m_OlapDataManager = new OlapDataManager();
m_OlapDataManager.DataProvider = InitializeConnection();
olapClient1.OlapDataManager = m_OlapDataManager;
//olapClient1.OlapDataManager.GetCubes();
}
private IOlapDataProvider InitializeConnection()
{
IOlapDataProvider DataProvider = null;
System.ServiceModel.Channels.Binding customBinding = new CustomBinding(new BinaryMessageEncodingBindingElement(), new HttpTransportBindingElement { MaxReceivedMessageSize = 2147483647 });
EndpointAddress address = new EndpointAddress(new Uri(App.Current.Host.Source + "../../../../OlapManager.svc/binary"));
ChannelFactory clientChannel = new ChannelFactory(customBinding, address);
DataProvider = clientChannel.CreateChannel();
return DataProvider;
}
}