System.Drawing/ GDI+ was designed to work in a user process on the
desktop, in a forms environment etc.
My feeling on this that System.drawing relies heavily on the graphics
object which in turns wraps a windows handle, and in that service
applications you may have reduced permissions, especially in upcoming
vista/ windows server products which may prevent some of these functions
working correctly...
Also creating 1 or more handles on a web site per session with many
users at the same time will cause problems, and so ms will add this
disclaimer to absolve themselves from having to deal with these
scalability issues.
Im sure all component vendors use gdi+ on some kind of handle to perform
processing like this for asp.net charting/diagramming components, but if
they are smart im sure they will use a singleton or thread pool solution
to handle graphics rendering.
If it keeps you awake at night you could look into the SVG standard
which creates graphics through xml markup, much like the new Windows
Presentation Framework classes will do, but its a lot of work and the
browser needs a plugin for it to work correctly.
James
www.crainiate.net [quoted text, click to view] JK wrote:
> Is it true that from Dot Net 2.0 onwards >>
> Classes within the System.Drawing namespace are not supported for use within
> a Windows or ASP.NET service. Attempting to use these classes from within one
> of these application types may produce unexpected problems, such as
> diminished service performance and run-time exceptions.
>
> And if that is the case then this sucks. We have applications that are
> Windows service and perform image processing. So far we have not had issues
> and if 2.0 has problems then we will not be able to migrate to it.
>
> Please advise...
>
> Thanks in Advance!