Jump to content
Software FX Community

Problem deploying in a web page a Windows User Control containing a Chart FX for .NET 6.2 Chart object


User (Legacy)

Recommended Posts

Hi,

I have created a windows user control containing, among other controls, a

SoftwareFX.ChartFX.Chart control. The goal is to deploy my user control in a

web page to let the user interact, via JavaScript, with the chart contained

in it.

I configured my strong key signed assembly with the

AllowPartiallyTrustedCallers attribute. And on the constructor of the user

control I configured the PermissionSet.

Then on the client side I created, under .Net Configuration, the Runtime

Security Policy granting my assembly FullTrust permissions by using its

strong name's public key. I did the same thing with the assemblies of

SoftwareFX.

I also opened the manifest of my assembly and checked that the

WindowsControlLibrary1.dll.licenses resource that references my Chart FX for

.NET 6.2 license was indeed embedded inside the assembly.

Nevertheless I cannot load the control on my page and I keep finding this

error in the Temporary Internet Files of Internet Explorer 6:

***** IEHOST Error Log (Thursday, 30 November 2006 17:47) *****

URL: http://localhost/windowscontrollibrary/WindowsControlLibrary1.dll

Zone: 1

Assembly Name: WindowsControlLibrary1.dll

Type Name: WindowsControlLibrary1.UserControl1

----- Thrown Exception -----

System.Runtime.Serialization.SerializationException: The type

System.ComponentModel.LicenseException in Assembly System,

Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 is not

marked as serializable.

Server stack trace:

at

System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object

obj, ISurrogateSelector surrogateSelector, StreamingContext context,

SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter)

at

System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Object

obj, ISurrogateSelector surrogateSelector, StreamingContext context,

SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter)

at

System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write(WriteObjectInfo

objectInfo, NameInfo memberNameInfo, NameInfo typeNameInfo)

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.Remoting.Channels.CrossAppDomainSerializer.SerializeMessageParts(ArrayList

argsToSerialize)

at

System.Runtime.Remoting.Messaging.SmuggledMethodReturnMessage..ctor(IMethodReturnMessage

mrm)

at

System.Runtime.Remoting.Messaging.SmuggledMethodReturnMessage.SmuggleIfPossible(IMessage

msg)

at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoDispatch(Byte[]

reqStmBuff, SmuggledMethodCallMessage smuggledMcm,

SmuggledMethodReturnMessage& smuggledMrm)

at

System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[]

reqStmBuff, SmuggledMethodCallMessage smuggledMcm,

SmuggledMethodReturnMessage& smuggledMrm)

Exception rethrown at [0]:

at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage

reqMsg, IMessage retMsg)

at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&

msgData, Int32 type)

at System.AppDomain.CreateComInstanceFrom(String assemblyFile, String

typeName, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm)

at Microsoft.IE.SecureFactory.CreateInstanceWithSecurity(Int32 dwFlag,

Int32 dwZone, String pURL, String uniqueIdString, String link, String

licenses)

It seems like I have problems with my type of deployment and my Chart FX

license. Could anybody give me any clues?

Thanks

Link to comment
Share on other sites

The following KB Articles Explain the reason for this:

Q6101008. Using Chart FX for .NET Windows Forms control from a DLL

http://support.softwarefx.com/ShowArticle.aspx?Type=KB&Product=CfxNet70&Source=http://support.softwarefx.com/kb/610/1/008.htm?_r=1

Q6101001. How to deploy a WinForms Application when it contains a wrapper

object using Chart FX for .NET

http://support.softwarefx.com/ShowArticle.aspx?Type=KB&Product=CfxNet70&Source=http://support.softwarefx.com/kb/610/1/001.htm?_r=1

--

Francisco Padron

www.chartfx.com

Link to comment
Share on other sites

Thanks for your quick answer. I had already read the articles you mention. 

As for article Q6101001, it seemed to be the solution, but after checking my

project I corroborated that Visual Studio .Net 2003 had already done the job

for me and the licenses.licx file had been added to my project and it was

being included in my assembly as an embedded resource. Anyway, to make sure

that it was all being done the right way, I also followed the manual

procedure described in article Q6101010, but that didn't work either.

I would like to know if there is a workaround to this problem. Be it a

program modification, or an ad hoc configuration of the client computer or

maybe some sort of license modification as it seems to be alluded in article

Q6101008 where it says "Please contact Software FX if your specific

situation requires a different licensing scheme".

Thanks again.

Link to comment
Share on other sites

The license must be in the EXE, not in the DLL, in this case the EXE is 

Internet Explorer so you can not put it there.

The license WILL NOT be read from your DLL as this would allow you to wrap

the control and by-pass the license.

Please contact Software FX for licensing options.

--

Francisco Padron

www.chartfx.com

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...