Re: IE-hosted controls name length limitation

From: M. Shawn Dillon (shawn.dillon_at_insightbb.no-spam.com)
Date: 05/07/04


Date: Fri, 7 May 2004 17:53:22 -0400

I am using IE 6 with all patches applied on Windows Server 2003 and Windows
XP SP1.

Recently, I installed the tech preview of Visual Studio .NET 2005 and
attempted to view the IE Sourcing QuickStart sample to see if it had the
same problems. It does (IE Binding log information is below), but I think
I'm wrong about the 50 character limitation because the binding information
only shows 12 characters in this case. The path leading up to the type name
(including the hash mark that separates the type and assembly) is 116
characters.

With a 12-character type name and a 116-character path, it seems that IE can
only read the first 128 characters of the classid attribute.

***** IEHOST Error Log (Friday, 07 May 2004 17:35) *****

URL:
http://localhost/QuickStart/Winforms/Samples/WritingControls/SimpleControl/cs/Control/bin/debug/SimpleControlCS.dll
Zone: 1
Assembly Name: SimpleControlCS.dll
Type Name: Microsoft.Sa

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

System.TypeLoadException: Could not load type 'Microsoft.SaMicrosoft.Sa'
from assembly 'SimpleControlCS, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=null'.
   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)

Thanks,
Shawn

"Patrick Steele [MVP]" <patrick@mvps.org> wrote in message
news:MPG.1b02f4197bf4c7c79898e5@msnews.microsoft.com...
> In article <OTxh8mkMEHA.2468@TK2MSFTNGP11.phx.gbl>,
> shawn.dillon@insightbb.no-spam.com says...
> > I was recently toying with IE-hosted Windows Forms controls
(instantiated
> > via <object /> tags in HTML) and ran across a surprising (and
unfortunately,
> > showstopping for my intended uses) limitation.
> >
> > Evidently, the class name (including the namespace) is limited to 50
> > characters. For example, the following works:
> >
> > <object id="works"
> >
classid="http://127.0.0.1/MyAssembly.dll#MyCompanyName.MyProductName.WinForm
> > s.Controls.Ctrl">
> > </object>
> >
> > While this does not:
> >
> > <object id="toolong"
> >
classid="http://127.0.0.1/MyAssembly.dll#MyCompanyName.MyProductName.WinForm
> > s.Controls.MyCtrl">
> > </object>
> >
> > The assembly binding log viewer (IEHOST error page) indicates that the
type
> > it tried to load in the second instance was:
> > MyCompanyName.MyProductName.WinForms.Controls.MyCt
> >
> > Can anyone shed some light on why this is occurring and where this
behavior
> > may be documented or filed as a bug?
>
> It's probably related to the fact that the object tag is documented in
> the MSDN documentation to be in the format:
>
> clsid:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
>
> With that format, 50 is more than enough. But the HTML specs say
> classid is a URI:
>
> http://www.w3.org/TR/html401/struct/objects.html#adef-classid
>
> I wonder if different version of IE behave differently. What version of
> IE are you using?
>
> --
> Patrick Steele
> Microsoft .NET MVP
> http://weblogs.asp.net/psteele



Relevant Pages

  • Severe limitation for IE-hosted .NET controls (classid is truncated to 128 chars)
    ... I am using IE 6 with all patches applied on Windows Server 2003 and Windows ... only shows 12 characters in this case. ... at System.AppDomain.CreateComInstanceFrom(String assemblyFile, String ... Int32 dwZone, String pURL, String uniqueIdString, String link, String ...
    (microsoft.public.windows.inetexplorer.ie6.browser)
  • Severe limitation for IE-hosted .NET controls (classid is truncated to 128 chars)
    ... I am using IE 6 with all patches applied on Windows Server 2003 and Windows ... only shows 12 characters in this case. ... at System.AppDomain.CreateComInstanceFrom(String assemblyFile, String ... Int32 dwZone, String pURL, String uniqueIdString, String link, String ...
    (microsoft.public.dotnet.framework.windowsforms.controls)
  • Severe limitation for IE-hosted .NET controls (classid is truncated to 128 chars)
    ... I am using IE 6 with all patches applied on Windows Server 2003 and Windows ... only shows 12 characters in this case. ... at System.AppDomain.CreateComInstanceFrom(String assemblyFile, String ... Int32 dwZone, String pURL, String uniqueIdString, String link, String ...
    (microsoft.public.dotnet.framework.clr)
  • Re: How to convert Infix notation to postfix notation
    ... If this is for an error message, why isn't it using stderr for its output? ... array of 15 characters, and you call this function with the limit 15 on ... Making sure that the only string I allocate and append to, ... because mulFactor in all versions must needs incorporate the functions ...
    (comp.lang.c)
  • Re: Prothon should not borrow Python strings!
    ... """It does not make sense to have a string without knowing what encoding ... same cul de sac as Python. ... Prothon_String_As_ASCII // raises error if there are high characters ... Python's split between byte strings and Unicode strings is ...
    (comp.lang.python)

Loading