Error access data via ES


Author
Message
Greg McGuffey
Greg McGuffey
Strategic Support Team Member (2.7K reputation)
Group: Forum Members
Posts: 2K, Visits: 6.6K
I getting a very reproducible (on my side anyway) error side when attempting to access some data via ES. Other data is accessed fine. Here is the error reported to the client:



BusinessLayerException

An error occurred while refreshing the data from field 'ProjectOrganizationBO.Owner' to property 'Text' on control 'txtOwner.'

BusinessLayerException

An error occurred while refreshing property 'Text' to control 'txtOwner'

TargetInvocationException

Exception has been thrown by the target of an invocation.

CryptographicException

Bad Data.





Source : MicroFour StrataFrame Business



Stack Trace:

at System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)

at System.Security.Cryptography.Utils._DecryptData(SafeKeyHandle hKey, Byte[] data, Int32 ib, Int32 cb, Byte[]& outputBuffer, Int32 outputOffset, PaddingMode PaddingMode, Boolean fDone)

at System.Security.Cryptography.CryptoAPITransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount)

at System.Security.Cryptography.CryptoStream.Read(Byte[] buffer, Int32 offset, Int32 count)

at System.IO.Compression.DeflateStream.Read(Byte[] array, Int32 offset, Int32 count)

at System.IO.Stream.ReadByte()

at System.IO.BinaryReader.FillBuffer(Int32 numBytes)

at System.IO.BinaryReader.ReadBoolean()

at MicroFour.StrataFrame.Data.Enterprise.BaseResults.ReadDataFromStream(BinaryReader Reader)

at MicroFour.StrataFrame.Data.Enterprise.ExecuteScalarResults.ReadDataFromStream(BinaryReader Reader)

at MicroFour.StrataFrame.Data.Enterprise.ExecuteScalarResults.CreateFromStream(BinaryReader Reader)

at MicroFour.StrataFrame.Data.Enterprise.EnterpriseDataSourceItem.?(BaseParams A_0, RemoteDataSourceCommand A_1)

at MicroFour.StrataFrame.Data.Enterprise.EnterpriseDataSourceItem.?(DbCommand A_0, Boolean A_1, String A_2)

at MicroFour.StrataFrame.Data.Enterprise.EnterpriseDataSourceItem.ExecuteScalar(DbCommand Command)

at MicroFour.StrataFrame.Business.BusinessLayer.ExecuteScalar(DbCommand CommandToExecute)

at FOXSystems.RAMS.BusinessObjects.Project.ProjectOrganizationBO.get_Owner() in E:\FoxSystems\RAMS\RAMS.NET\BusinessObjects\Project\ProjectOrganizationBO.vb:line 387

at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)

at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)

at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)

at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

at System.Reflection.RuntimePropertyInfo.GetValue(Object obj, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture)

at System.Reflection.RuntimePropertyInfo.GetValue(Object obj, Object[] index)

at MicroFour.StrataFrame.Business.ReflectionPropertyDescriptor.GetValue(Object component)

at System.Windows.Forms.BindToObject.GetValue()

at System.Windows.Forms.Binding.PushData(Boolean force)

at System.Windows.Forms.Binding.ReadValue()

at MicroFour.StrataFrame.Business.BusinessLayer.RefreshValue(Control ControlToRefresh, String PropertyName)

at MicroFour.StrataFrame.Business.BusinessLayer.RefreshControl(IBusinessBindable ControlToRefresh, Boolean DataPresent)

at MicroFour.StrataFrame.Business.BusinessLayer.RefreshBoundControls()

at MicroFour.StrataFrame.Business.BusinessLayer.raise_Navigated(NavigatedEventArgs e)

at MicroFour.StrataFrame.Business.BusinessLayer.OnNavigated(NavigatedEventArgs e)

at MicroFour.StrataFrame.Business.BusinessLayer.Navigate(BusinessNavigationDirection Direction, Int32 AbsoluteIndex, Object[] PrimaryKeyValues, Boolean AttemptToCheckRules, Boolean IsRefill)

at MicroFour.StrataFrame.Business.BusinessLayer.NavigateToPrimaryKey(Object[] PrimaryKeyValues)

at FOXSystems.RAMS.MitaAnalysis.OrgTools.SynchBoToTree(TreeView anyTree, BusinessLayer anyBO) in E:\FoxSystems\RAMS\RAMS.NET\MitaAnalysis\OrgTools.vb:line 421

at FOXSystems.RAMS.MitaAnalysis.MITAWizardPages.OrgDefinePage.tvwOrg_AfterSelect(Object sender, TreeViewEventArgs e) in E:\FoxSystems\RAMS\RAMS.NET\MitaAnalysis\MITAWizardPages\OrgDefinePage.vb:line 303

at System.Windows.Forms.TreeView.OnAfterSelect(TreeViewEventArgs e)

at System.Windows.Forms.TreeView.TvnSelected(NMTREEVIEW* nmtv)

at System.Windows.Forms.TreeView.WmNotify(Message& m)

at System.Windows.Forms.TreeView.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativewindow.OnMessage(Message& m)

at System.Windows.Forms.Control.ControlNativewindow.WndProc(Message& m)

at System.Windows.Forms.Nativewindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)





Here is the error reported via ES:



ArgumentNullException

Object Graph cannot be null.

Parameter name: graph



Source : mscorlib



Stack Trace:

at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck)

at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck)

at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph)

at MicroFour.StrataFrame.Data.Enterprise.ExecuteScalarResults.WriteDataToStream(BinaryWriter Writer)

at MicroFour.StrataFrame.Enterprise.Server.RemoteDataSource.ProcessRequest(HttpContext context)




Some info about what is going on:



- This error does not happen if I connect directly.

- If I step through the code, the error occurs on the line that fills the data table of the BO.

- The Owner property is actually a custom property that is doing a separate ExecuteScalar command to get that value.

- txtOwner is bound to the Owner property.



Any ideas why this isn't working with ES?
Greg McGuffey
Greg McGuffey
Strategic Support Team Member (2.7K reputation)
Group: Forum Members
Posts: 2K, Visits: 6.6K
One more thing...the ExecuteScalar could and is likely returning Nothing, as there is often no row found. On the client I'm checking for Nothing and DbNull.Value.
StrataFrame Team
S
StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)
Group: StrataFrame Developers
Posts: 3K, Visits: 2.5K
Yep, this was the bug that we mentioned in class... It's not that we're testing on DBNull.Value, it's that we're not testing at all and just trying to serialize the returned value, which is nothing...

Here are the DLLs that you need to fix it.  Copy them to the bin\ folder of your enterprise server and either restart IIS, recycle the application pool, or stop and start the website.

Attachments
es.zip (219 views, 38.00 KB)
Greg McGuffey
Greg McGuffey
Strategic Support Team Member (2.7K reputation)
Group: Forum Members
Posts: 2K, Visits: 6.6K
Thanks Ben! I missed that this was a current ES bug.



I copied the dlls to the server, restarted IIS. Now I'm getting bad data error. (CrypographicException).

I checked the keys and they match. Did the public tokens change on the dlls? Did I not get IIS reset enough?
Greg McGuffey
Greg McGuffey
Strategic Support Team Member (2.7K reputation)
Group: Forum Members
Posts: 2K, Visits: 6.6K
As a test, I turned off encryption and now I get EndOfStreamException.
StrataFrame Team
S
StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)
Group: StrataFrame Developers
Posts: 3K, Visits: 2.5K
OK, here are all of the DLLs that are part of the server, just in case another one of them changed.

[Edit: removed attachment]

StrataFrame Team
S
StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)
Group: StrataFrame Developers
Posts: 3K, Visits: 2.5K
OK, well Greg, it wasn't a problem with the ES, it was a problem with the operator... I never created the proper project configuration for the Dotfuscator project, so if I built it in debug and then built the solution, it would create the proper DLLs for you.  So, I've been sending you the same version over and over again...

So, here are the fixed DLLs Smile  Give them a shot and let me know how it works...

Attachments
ES.zip (206 views, 697.00 KB)
Greg McGuffey
Greg McGuffey
Strategic Support Team Member (2.7K reputation)
Group: Forum Members
Posts: 2K, Visits: 6.6K
I don't think my existing license file will work with this...reference problem. How do I get a new license file for 1.6.0 ES?
StrataFrame Team
S
StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)StrataFrame Developer (3.5K reputation)
Group: StrataFrame Developers
Posts: 3K, Visits: 2.5K
Your license file will still work.  If you're still having problems activating that MAC address, send it to me so I can debug it.
Greg McGuffey
Greg McGuffey
Strategic Support Team Member (2.7K reputation)
Group: Forum Members
Posts: 2K, Visits: 6.6K
This is the error being returned when attempting to look at the status page:



Could not load file or assembly 'MicroFour License Base, Version=1.6.0.0, Culture=neutral, PublicKeyToken=7bb29517c3189d04' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)




The ServerCheck.aspx page returns "OK.".
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search