iSeller Commerce
iSeller POS Retail
iSeller POS F&B
iSeller POS Express
Crosslight
WebUI
ClientUI
What's New
Download Trial
Web Solution
Mobile Solution
Enterprise Solution
Custom Development
Blog
Community
Latest Development Blogs
ForumPostTopic
Browse By Tag
I am using WebGrid version 7.0.7200.404.
When I am using the interactive chart UI with any 3D chart type like 3D Pie or 3D Doughnut, I receive a server side error looking for the Xceed.Chart.GraphicsGL dll. The 2D versions work fine.
I have included references to ISNet.WebUI.WebGrid, ISNet.WebUI.WebGrid.ISChartEngine, etc.What am I missing?
Thanks,
Mike
System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Exception: Could not load file or assembly 'Xceed.Chart.GraphicsGL, Version=4.1.100.0, Culture=neutral, PublicKeyToken=ba83ff368b7563c6' or one of its dependencies. The system cannot find the file specified. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Xceed.Chart.GraphicsGL, Version=4.1.100.0, Culture=neutral, PublicKeyToken=ba83ff368b7563c6' or one of its dependencies. The system cannot find the file specified.File name: 'Xceed.Chart.GraphicsGL, Version=4.1.100.0, Culture=neutral, PublicKeyToken=ba83ff368b7563c6' at WebGrid6.Charting.Kernel.ChartControlBase.CreateSceneGL() at WebGrid6.Charting.Kernel.ChartControlBase.RecreateDevice() at WebGrid6.Charting.Kernel.Settings.ChangeRenderSurface(Boolean bChangeDevice) at ISNet.WebUI.WebGrid.ISChartEngine.ChartSettingsBridge.ApplySettings(ChartSettings settings, ChartServerControl control) at ISNet.WebUI.WebGrid.ISChartEngine.ChartEngine.GenerateChartImage(ChartConfig chartConfig, DataTable data) at *.*.GenerateChartImage() at ISNet.WebUI.WebGrid.DataBinding.*(DataView dataSource, XmlNode xReq) at ISNet.WebUI.WebGrid.DataBinding.*(DataView dataSource, String request) at ISNet.WebUI.ISNetControl.ControlRequestHandler(Object sender, EventArgs e)
Hello Mike,
I attached my project. Please let me know if it works well or not in your machine. If it works fine, please try to replicate your issue in my sample. I need this to investigate your issue.
Regards,Handy
Well, the sample works to show 3d charts somehow. I've been looking for differences between the sample and my project and I'm not seeing any so far. I know the sample is using the WebSiteProject and mine is the Web Application Project style in Visual Studio, but both have the WebGrid/Chart DLLs in the bin folder. They seem to have the same DLL versions (but different file dates 7/22 in the sample and 7/26 in my DLLs).
I debugged both applications, I see the assembly binding call that's different, but don't know why its different.
Sample App:
'WebDev.WebServer.EXE' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\WebGrid.Charting.Web\6.0.7200.100__3e60b85fb8502d5e\WebGrid.Charting.Web.dll''WebDev.WebServer.EXE' (Managed): Loaded 'Xceed.Chart.GraphicsCore''WebDev.WebServer.EXE' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\WebGrid.Charting.Kernel\6.0.7200.100__3e60b85fb8502d5e\WebGrid.Charting.Kernel.dll''WebDev.WebServer.EXE' (Managed): Loaded 'Xceed.Chart.Utilities''WebDev.WebServer.EXE' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\WebGrid.Charting.Common\6.0.7200.100__3e60b85fb8502d5e\WebGrid.Charting.Common.dll''WebDev.WebServer.EXE' (Managed): Loaded 'Xceed.Chart.Graphics2D''WebDev.WebServer.EXE' (Managed): Loaded 'C:\Users\miked\AppData\Local\Temp\{85c02c6d-73d3-438c-a622-6f46d42eec70}\Xceed.Chart.GraphicsGL.dll'
My Application:
'w3wp.exe' (Managed): Loaded 'Xceed.Chart.GraphicsCore''w3wp.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\WebGrid.Charting.Web\6.0.7200.100__3e60b85fb8502d5e\WebGrid.Charting.Web.dll''w3wp.exe' (Managed): Loaded 'Xceed.Chart.Utilities''w3wp.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\WebGrid.Charting.Kernel\6.0.7200.100__3e60b85fb8502d5e\WebGrid.Charting.Kernel.dll''w3wp.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\WebGrid.Charting.Common\6.0.7200.100__3e60b85fb8502d5e\WebGrid.Charting.Common.dll''w3wp.exe' (Managed): Loaded 'Xceed.Chart.Graphics2D'A first chance exception of type 'System.Web.HttpException' occurred in System.Web.dllA first chance exception of type 'System.Web.HttpException' occurred in System.Web.dllA first chance exception of type 'System.Web.HttpException' occurred in System.Web.dll
No binding after the Graphics2D to the GraphicsGL in my application. I see the DLL is being stored (dynamically copied) into 'C:\Users\miked\AppData\Local\Temp\{85c02c6d-73d3-438c-a622-6f46d42eec70}" which is strange.
I'm wondering if its a permission issue because the sample is running under WebDev.WebServer.EXE and is running under my credentials as Full Trust. But my application is running through IIS under the NETWORK SERVICE credentials, which isn't Full Trust.
Any ideas?
Please let me know if you are using WebGrid 6 or WebGrid 7. I suggest you to use the latest hotfixes of WebGrid and WebUIFramework.
From above, I am using WebGrid version 7.0.7200.404 which is the latest patch I see is available through the Update Manager.
Does the chart dynamically compile/write the GraphicsGL DLL to the temp directory?
Thank you for your confirmation. However, would you mind to send me a simple runable project that replicates this issue? I need this to investigate your issue. As far I know, Xceed is not from our chart engine. It should be from nevron chart engine.
I have attached your sample, but built it as a Web Application Project connected to an IIS virtual directory (not the ASP.NET Dev Server). I am using Windows 7 running IIS 7, which may make the difference. The attached sample runs through the VS Development Server, but not IIS, which leads me to believe its either an IIS 7 issue or a strict permission issue between NETWORK SERVICE and my local account.
Steps to reproduce:
Looking in .NET Reflector, the ISNET.WebGrid.ISChartEngine does have dependencies/references to 2 Xceed DLLs (GraphicsCore and Utilities).
Attached project also could not replicate the issue. Please correct the handler in your web.config at System.web tag.
<add path="ISRes.axd" verb="GET" type="ISNet.WebUI.WebResourceHandler, ISNet.WebUI, Version=3.0.5000.1, Culture=neutral, PublicKeyToken=b1f2a8511635667a" validate="true" /> <add path="ISChart.axd" verb="GET" type="ISNet.WebUI.WebGrid.Chart.ChartRequestHandler, ISNet.WebUI.WebGrid" validate="true"/>
In IIS7 those handler should be placed in System.web tag. As you said before, my project worked well. So, would you mind to compare my web.config with yours?
Very strange. Are you using Windows 7 64 bit with IIS7 and .NET 3.5? That is my development environment. You're not launching the sample from within Visual Studio with Development Server are you? When I launch that way, the sample does work.
I have those HTTP handlers listed in both system.web and system.webServer sections. IIS7 does require them to be in the system.webServer section. I just have it in system.web too for IIS6 compatibility.
I will push the code onto one of our application servers running Windows 2008 with IIS 7.5 and see if the problem exists there too.
It really feels like a permission issue because of the "'WebDev.WebServer.EXE' (Managed): Loaded 'C:\Users\miked\AppData\Local\Temp\{85c02c6d-73d3-438c-a622-6f46d42eec70}\Xceed.Chart.GraphicsGL.dll'" loading message when debugging from the Development Server, not IIS.
I did just grab that DLL and tried to place it into my application's bin folder. It looks it may be a 32bit only DLL. I get the following message when I start my application:
Server Error in '/sys7' Application.--------------------------------------------------------------------------------Could not load file or assembly 'Xceed.Chart.GraphicsGL' or one of its dependencies. An attempt was made to load a program with an incorrect format.
Does it have a problem with a 64bit application pool? That would explain why DevServer runs (it runs in 32bit mode I think)
I am running in Windows server 2008 64 bit. All I set to deploy the project as Pipe line mode : integrated.Deployed in iis7 without 32 bit or iis 6 compatibility.I will try to test in Windows 7 64 bit and let you know the result.
<iswebgrid:WebGrid ID="WebGrid1" runat="server" UseDefaultStyle="true" DefaultStyleMode="Win7" AllowPivotCharting="true" ChartMode="InteractiveUI"> <LayoutSettings ShowColumnAction="true" AutoFilterSuggestion="true" AllowSelectColumns="Yes" AllowGrouping="Yes" AllowEdit="No" ColumnFooters="No" HeaderClickAction="SortMulti" AllowAddNew="No" AllowColumnSizing="Yes" ColumnHeaders="Yes" HideColumnsWhenGrouped="No" AllowSorting="Yes" AllowFilter="Yes" RowHeaders="Yes" AllowColumnMove="Yes" AllowDelete="No" NewRowLostFocusAction="AlwaysPrompt" PagingMode="VirtualLoad" ApplyFiltersKey="Enter" GroupByBoxVisible="True" AllowExport="Yes" GroupRowInfoFormatDefault="[value]:([count])" AllowColumnFreezing="Yes" FreezePaneSettings-ShowInContextMenu="true" AlwaysShowHelpButton="false" AutoHeight="true" AutoWidth="true" FreezePaneSettings-MaxFrozenColumns="4" FreezePaneSettings-AbsoluteScrolling="true" ShowFilterStatus="true"> <TextSettings Language="UseCulture"> </TextSettings> <ClientSideEvents OnCellDblClick="OnCellDblClick"></ClientSideEvents> </LayoutSettings> <ChartSettings ChartEngine="BuiltIn" ImageFormat="Png"> <VisualEffectSettings ShapeRenderingMode="AntiAlias" EnableJittering="true" TextRenderingHint="AntiAliasGridFit" /> </ChartSettings> <ChartInteractiveUI RibbonState="Shown"> <ChartTypeRibbon Visible="true"> <AreaType EnableBasic3DAreaType="false" EnableStacked3DAreaType="false" EnableStackedPercentage3DAreaType="false" /> <BarType EnableBasic3DBarType="false" EnableClustered3DBarType="false" EnableStacked3DBarType="false" EnableStackedPercentage3DBarType="false" /> <ColumnType EnableBasic3DColumnType="false" EnableStacked3DColumnType="false" EnableClustered3DColumnType="false" EnableStackedPercentage3DColumnType="false" /> <DoughnutType EnableBasic3DDoughnutType="false" EnableExploded3DDoughnutType="false" /> <LineType EnableBasic3DLineType="false" EnableBasic3DLineWithMarkersType="false" EnableOverlapped3DLineType="false" EnableStacked3DLineType="false" EnableStackedPercentage3DLineType="false" EnableStackedPercentage3DLineWithMarkersType="false" EnableOverlapped3DLineWithMarkersType="false" EnableOverlappedLineWithMarkersType="false" EnableStacked3DLineWithMarkersType="false" /> <PieType EnableBasic3DPieType="false" EnableExploded3DPieType="false" EnableExplodedPieType="false" /> </ChartTypeRibbon> <ShowOrHideRibbon ShowFieldList="true" Visible="true" /> </ChartInteractiveUI> </iswebgrid:WebGrid>
Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.18408
From the given snippet code, I see that you are using the built-in chart-engine. I’d like to confirm whether following items has been set correctly in your project or not.
<httpHandlers> <!-- Intersoft WebGrid Chart--> <add path="ISChart.axd" verb="GET" type="ISNet.WebUI.WebGrid.Chart.ChartRequestHandler, ISNet.WebUI.WebGrid" validate="true"/> </httpHandlers>
Look forward to hearing back from whether this helps or not.
Edited on February 16, 2014 09:08 PMReason: Update Information
I am very sorry for the misinformation, I would like to update that only the XCeed chart does not support 64 bit IIS. If you would like to use WebGrid chart in 64 bit IIS you will need to use Nevron engine, you will also need the nevron dll, http://www.intersoftpt.com/tdn/downloads/ISNet.Nevron.Charting.zip. Here is the snippet:
<ChartSettings ChartType="Pie" ChartEngine="Nevron"> <SeriesPieSettings Type="Basic3DPie"> </SeriesPieSettings> </ChartSettings>
or
Choose this if you're already a member of Intersoft Community Forum. You can link your OpenID account to your existing Intersoft Social ID.
Choose this if you don't have an Intersoft account yet. Your authenticated OpenID will be automatically linked to your new Intersoft account.
Enter your Wordpress Blogname