Publishing a GoDiagram Website

I am using VS 2005, Windows Server 2003, IIS6, and am trialing GoDiagram 2.4. My project runs correctly in debug mode. However, when I publish my project to IIS, my GoView shows up as a broken image. What is happening?

If you published to IIS running on your development machine, then perhaps you need to enable cookies or make your web app cookie-less.
Or maybe session state is not enabled correctly on the IIS server.
Did you check that the GoWebImage.aspx page is part of the project and present in the virtual directory?

I am allowing cookies the on the IE client. <?:namespace prefix = o ns = “urn:schemas-microsoft-com:office:office” /><o:p></o:p>
I have tried setting IIS’s ASP.NET configuration’s session state mode in both InProc and StateServer.<o:p></o:p>
My GoWebImage.aspx file is in the virtual directory. <o:p></o:p>
I am also having almost the same problem with the samples provided with GoDiagram. That is if I am in IE on the machine in which they are being hosted, then everything works fine. However, if I try getting to the sample from IE on another machine every thing renders fine except for the GoView, which appears as a broken image. Are there any permission that I need to set or licensing issues?

Well, it’s true that you should not be able to deploy your web application using our controls unless you have included license objects in the App_Licenses.dll that you can build using the “Build Runtime Licenses” command in VS 2005, and you can’t do that with a GoDiagram evaluation license, which is what is installed on your (development) machine when you install the GoDiagram kit.
It does sound like some sort of security issue trying to access GoWebImage.aspx from another machine. I’ll see if I can reproduce this situation somehow by fiddling/breaking things in IIS. What kind of authentication are you using? Does this happen for other client machines trying to look at your IIS web site on your development machine?

So you don’t throw some sort of an exception to let developers know that the system won’t because the license doesn’t allow for deployment? Because I don’t get any exception, I just get a broken image.
IIS is set to Enable anonymous access. Authenticated access is set only to Integrated Windows authentication.
ASP .NET is set to Windows as the authentication mode. It uses the standard AspNetSqlMembershipProvider.
I get the broken image when I try and access the IIS webpage from other client machines for the samples that you have provided in the evaluation kit.

I’m running on WinXP as the development machine/web server. I’ve made sure only evaluation licenses are on that machine. I can look at a sample web app from a different machine successfully, seeing the evaluation watermark in the images sometimes.
Perhaps II6/Win2003 is different? If there are no licenses embedded in the application (App_Licenses.dll) then the license checking code will default to reading the registry, in HKEY_LOCAL_MACHINE\SOFTWARE\Northwoods Software\Go.NET. Maybe the ASP.NET process on your Windows 2003 system is unable to read that registry key.

Ok I tried installing an XP box with IIS5 and I have the same problem with the sample. I just used the default settings on IIS5. Are there any special settings that I would need to configure on the server side?
I think that the problem that I am having is either a client or server problem. I am sure that it is not a programming or compiling issue because I am trying to run your samples. I don’t think that my problems are a licensing issue. According to Scott Smith, the demo license should allow me to publish a GoDiagrams website to my local IIS so that others (on our network) will be able to view the website. The only thing that the demo license wouldn’t allow me to do would be to publish to a remote IIS.

I don’t know what to say – I can’t come up with a plausible situation where it doesn’t work.
Just to confirm, for which of the following cases does it work:

  • Open http://localhost/GoDiagramWeb2.4.1Samples/MinimalApp/WebForm 1.aspx in IE on your development machine (if you have already opened this project, try a different sample app instead)
  • Open http://YourMachine/GoDiagramWeb2.4.1Samples/MinimalApp/WebFo rm1.aspx in IE on some other machine
  • Open MinimalApp.csproj in VS and do the standard upgrade and run it
  • Publish MinimalApp to Local IIS, and open it locally in IE
  • Open that published web app in IE on some other machine
    When it fails for you, it’s only the element that is missing, right? If you do an IE View Source, do you appear to get the same HTML in the cases that fail as you do in the cases that succeed?
    Has anyone else had any similar problems? I know we have a lot of GoDiagram Web customers, but I don’t think anyone has reported anything like this before.

Here is what works and what does not:
case 1: Open http://localhost/GoDiagramWeb2.4.1Samples/MinimalApp/WebForm 1.aspx in works fine.
case 2: Open http://YourMachine/GoDiagramWeb2.4.1Samples/MinimalApp/WebFo rm1.aspx in IE on some other machine. Does not work. Everything appears fine except for the GoView image.
case 3: Open MinimalApp.csproj in VS and do the standard upgrade and run it works fine.
case 4: Publish MinimalApp to Local IIS, and open it locally in IE works fine.
case 5: Open that published web app in IE on some other machine. Does not work. It appears exactly the same as case 2.
The source for both the working pages and the non-working looks the same. I did an MS Word compare documents on the two and the only differences are the view state value and the value of the GoView.
On a related note: there is a difference in my project that I tried to publish. When my project is published, it does not work locally or on a remote machine. But it works fine in debug mode. In this case the GoView functions like goNSDocMove, goGetEventx, etc are not in the source. In my project, not only do I get a broken image where the GoView is located, but I also get an error on the page. The error states that it was expecting GoWebImage to be an object.

Does aspx work, for the appropriate host address for your machine? That’s just a guess, if the security zone has anything to do with the problem. Although that would not really explain why getting to WebForm1.aspx works but not to GoWebImage.aspx in the same virtual directory.
Regarding your last “related note”, that sounds weird too. Perhaps it is exhibiting the same problem in another manner. But it might be that the value of GoView.ImagePage has been set to something incorrect, not matching the actual “GoWebImage.aspx” page name.

For some odd reason if I type in the IP address instead of the name the GoImage loads properly on the MinimalApp. I am wondering if my problems have anything to do with our naming convention. All of our development machines have underscores ‘'s in their names. <?:namespace prefix = o ns = “urn:schemas-microsoft-com:office:office” /><o:p></o:p>
However my project has the same problems that it had before. <o:p></o:p>
I don’t think that I am having a DNS or security problem because the page loads fine except for the GoView image. I tried to change my computer name to exclude the '’ but when I did that I got a message that my GoDiagram license was not valid. When I changed my name back, my license was valid again. To me this indicates that GoDiagram, or at least its license, must be dependent on the machine name. <o:p></o:p>
The application that I am developing is quite a bit more complex then any of the samples. In order for my application to work properly I need to extend GoView classes and manually write them to the ViewState. What I am thinking is that if GoView is having problems with '_'s it might not be able to load what I write to the ViewState. I have tried writing a simple application that does some of the same things that I do in my project, but have not been able to replicate the problems. So at this point I am not sure what is going on.

Yes, license keys are dependent on the machine name. I doubt whether the machine name having underscores in them matters. If you do want to change your machine name, you can delete the registry key HKLM\SOFTWARE\Northwoods Software\Go.NET, run the GoDiagram License Manager, select GoDiagram Web, and enter an unlock code of “evalweb”. Of course you’ll need to do this all again after changing your machine name back to what it was.
You really don’t want to write much to ViewState. Certainly not the whole GoView, its GoSelection and IGoTools, and its GoDocument and its GoObjects, which could be huge. When you enable ViewState for a GoView, only a unique identifier is written to ViewState, which can be used to look up the GoView in SessionState.
If you look at the Demo1 web app, do you see any of the three GoViews (a GoView, a GoOverview, and a GoPalette)?
Anyway, your success when using the IP address might indicate a difference in security settings, since that would be using a different security zone. Alas, I don’t know enough about this to tell whether that’s a problem with a policy group or particular security zone or the permissions that IIS/ASP.NET gets for external requests.