Can I sort blogs by the age of their starters?
Heads up, Update 955069 breaks transformNodeToObject in ASP
Hello Guest
  
  • Login
• Register…
• Start blog
  • Who, Where, When
• What is interesting here?
• Duels
  • Polls
• Avatars
• Interests
  • Cities and Countries
• Random blog
• Users search
  • Search
• Games
• Tests
• QAIX
  • Сообщества
• Talxy Chat
• Horoscope
• Online
 
Register!

QAIX > ASP web-programming > Heads up, Update 955069 breaks transformNodeToObje­ct in ASP 15 November 2008 23:23:01

  Top users: 
  Recent blog posts: 
  They have birthday today: 
  Forums:   
  Discuss: 
  Recent forum topics: 
  Recent forum comments:
  Модератор:

Heads up, Update 955069 breaks transformNodeToObje­ct in ASP

Anthony Jones 12 November 2008 15:00:26
 This info is for those of you who are using the transformNodeToObje­ct method
in an ASP page to send the results of the transform directly to the ASP
Response object.

The security update 955069 includes a change in behaviour where the IStream
passed in the output parameter has its Commit method called where in older
version this never called. The IStream implemention in on ASP Response
object will through an error if its Commit method is called.

Workarounds:

1. Don't install 955069 (not recommend its a security update).
2. Create an IStream wrapper object that delegates to an inner IStream
except the Commit method.
3. Don't use transfomNodeToObjec­t just transformNode and Response.Write
4. Send XML and get your client to do the transform

Option 2 only really an option if you the tools and the control over the
server to implement it.

Option 3 if you were generating large content with buffering turned off
transformNodeToObje­ct is pretty effecient, with transformNode and
Response.Write you are going to use more memory and will need a buffer size
big enough to handle the result (or slice up the result). You will also
need to consider encoding, where ToObject would have encoded to CharSet
transformNode always returns unicode. Hence the best approach would be to
set Response.CharSet = "UTF-8" (you were doing that already right?) and
Response.CodePage = 65001. On 2000 SP4 with IIS5 this gets trickier still
because the Response object doesn't have a CodePage property, you would need
to do it on the session then set the codepage back to its original value
after the Write.

Option 4 is well worthwhile if you can stand the upheaval but for new code
its worth considering.


--
Anthony Jones - MVP ASP/ASP.NET

Add comment
Luis Vargas 15 November 2008 20:00:01 permanent link ]
 "Anthony Jones" wrote:

This info is for those of you who are using the transformNodeToObje­ct method
in an ASP page to send the results of the transform directly to the ASP
Response object.
The security update 955069 includes a change in behaviour where the IStream
passed in the output parameter has its Commit method called where in older
version this never called. The IStream implemention in on ASP Response
object will through an error if its Commit method is called.
Workarounds:
1. Don't install 955069 (not recommend its a security update).
2. Create an IStream wrapper object that delegates to an inner IStream
except the Commit method.
3. Don't use transfomNodeToObjec­t just transformNode and Response.Write
4. Send XML and get your client to do the transform
Option 2 only really an option if you the tools and the control over the
server to implement it.
Option 3 if you were generating large content with buffering turned off
transformNodeToObje­ct is pretty effecient, with transformNode and
Response.Write you are going to use more memory and will need a buffer size
big enough to handle the result (or slice up the result). You will also
need to consider encoding, where ToObject would have encoded to CharSet
transformNode always returns unicode. Hence the best approach would be to
set Response.CharSet = "UTF-8" (you were doing that already right?) and
Response.CodePage = 65001. On 2000 SP4 with IIS5 this gets trickier still
because the Response object doesn't have a CodePage property, you would need
to do it on the session then set the codepage back to its original value
after the Write.
Option 4 is well worthwhile if you can stand the upheaval but for new code
its worth considering.
--
Anthony Jones - MVP ASP/ASP.NET

Hi Anthony,

Thanks for your help on all this. All the pages in my web site show the
error that was not there before. Check it out. www.markallenonline­.com

I have a classic ASP web site and most of the pages use something like this

Dim objXML1
Dim objXSL
Set objXML1 = Server.CreateObject­("Microsoft.XMLDOM")­
Set objXSL = getXMLDoc("default.­xsl")
call objXML1.transformNo­detoobject(objXSL, Response)

I am tempted to uninstall the security update (Workaround 1) if I can.
However I would be willing to implement the wrapper you mentioned (workaround
2). If it worked. I would do the coding. Every page unfortunately. Could help
me with some sample code for this. It would be appreciated.

Workaround 3 I tried however, my web site works in three languages and when
I do the transform to an intermediate object document and then do
Response.Write I then loose all special foreign characters somehow. If I
transform right to the response object the special characters in German and
Spanish show correctly and works great.

Workaround 4 is not an option for me.

Again thanks for the help. I was waiting for something like this to happen
with all the automatic updates.

Luis Vargas

Add comment
Anthony Jones 15 November 2008 21:10:01 permanent link ]
 
"Luis Vargas" <Luis Vargas@discussions.­microsoft.com> wrote in message
news:AB0F7A56-440C-­428E-8240-E7F08B300A­01@microsoft.com...
"Anthony Jones" wrote:
This info is for those of you who are using the transformNodeToObje­ct
method
in an ASP page to send the results of the transform directly to the ASP
Response object.
The security update 955069 includes a change in behaviour where the
IStream
passed in the output parameter has its Commit method called where in
older
version this never called. The IStream implemention in on ASP Response
object will through an error if its Commit method is called.
Workarounds:
1. Don't install 955069 (not recommend its a security update).
2. Create an IStream wrapper object that delegates to an inner
IStream
except the Commit method.
3. Don't use transfomNodeToObjec­t just transformNode and
Response.Write
4. Send XML and get your client to do the transform
Option 2 only really an option if you the tools and the control over the
server to implement it.
Option 3 if you were generating large content with buffering turned off
transformNodeToObje­ct is pretty effecient, with transformNode and
Response.Write you are going to use more memory and will need a buffer
size
big enough to handle the result (or slice up the result). You will also
need to consider encoding, where ToObject would have encoded to CharSet
transformNode always returns unicode. Hence the best approach would be
to
set Response.CharSet = "UTF-8" (you were doing that already right?) and
Response.CodePage = 65001. On 2000 SP4 with IIS5 this gets trickier
still
because the Response object doesn't have a CodePage property, you would
need
to do it on the session then set the codepage back to its original value
after the Write.
Option 4 is well worthwhile if you can stand the upheaval but for new
code
its worth considering.
Hi Anthony,
Thanks for your help on all this. All the pages in my web site show the
error that was not there before. Check it out. www.markallenonline­.com
I have a classic ASP web site and most of the pages use something like
this
Dim objXML1
Dim objXSL
Set objXML1 = Server.CreateObject­("Microsoft.XMLDOM")­
Set objXSL = getXMLDoc("default.­xsl")
call objXML1.transformNo­detoobject(objXSL, Response)
I am tempted to uninstall the security update (Workaround 1) if I can.
However I would be willing to implement the wrapper you mentioned
(workaround
2). If it worked. I would do the coding. Every page unfortunately. Could
help
me with some sample code for this. It would be appreciated.
Workaround 3 I tried however, my web site works in three languages and
when
I do the transform to an intermediate object document and then do
Response.Write I then loose all special foreign characters somehow. If I
transform right to the response object the special characters in German
and
Spanish show correctly and works great.
Workaround 4 is not an option for me.
Again thanks for the help. I was waiting for something like this to happen
with all the automatic updates.

Response.CodePage = 65001
Response.CharSet = "UTF-8"
Response.Write objXML1.transformNo­de(objXSL)

This code should work for all characters.

Does the above not work for you?
Can you provide an example characters you are having trouble with?

--
Anthony Jones - MVP ASP/ASP.NET

Add comment
Luis Vargas 15 November 2008 23:23:01 permanent link ]
 

"Anthony Jones" wrote:

"Luis Vargas" <Luis Vargas@discussions.­microsoft.com> wrote in message
news:AB0F7A56-440C-­428E-8240-E7F08B300A­01@microsoft.com...
"Anthony Jones" wrote:
This info is for those of you who are using the transformNodeToObje­ct
method
in an ASP page to send the results of the transform directly to the ASP
Response object.
The security update 955069 includes a change in behaviour where the
IStream
passed in the output parameter has its Commit method called where in
older
version this never called. The IStream implemention in on ASP Response
object will through an error if its Commit method is called.
Workarounds:
1. Don't install 955069 (not recommend its a security update).
2. Create an IStream wrapper object that delegates to an inner
IStream
except the Commit method.
3. Don't use transfomNodeToObjec­t just transformNode and
Response.Write
4. Send XML and get your client to do the transform
Option 2 only really an option if you the tools and the control over the
server to implement it.
Option 3 if you were generating large content with buffering turned off
transformNodeToObje­ct is pretty effecient, with transformNode and
Response.Write you are going to use more memory and will need a buffer
size
big enough to handle the result (or slice up the result). You will also
need to consider encoding, where ToObject would have encoded to CharSet
transformNode always returns unicode. Hence the best approach would be
to
set Response.CharSet = "UTF-8" (you were doing that already right?) and
Response.CodePage = 65001. On 2000 SP4 with IIS5 this gets trickier
still
because the Response object doesn't have a CodePage property, you would
need
to do it on the session then set the codepage back to its original value
after the Write.
Option 4 is well worthwhile if you can stand the upheaval but for new
code
its worth considering.
Hi Anthony,
Thanks for your help on all this. All the pages in my web site show the
error that was not there before. Check it out. www.markallenonline­.com
I have a classic ASP web site and most of the pages use something like
this
Dim objXML1
Dim objXSL
Set objXML1 = Server.CreateObject­("Microsoft.XMLDOM")­
Set objXSL = getXMLDoc("default.­xsl")
call objXML1.transformNo­detoobject(objXSL, Response)
I am tempted to uninstall the security update (Workaround 1) if I can.
However I would be willing to implement the wrapper you mentioned
(workaround
2). If it worked. I would do the coding. Every page unfortunately. Could
help
me with some sample code for this. It would be appreciated.
Workaround 3 I tried however, my web site works in three languages and
when
I do the transform to an intermediate object document and then do
Response.Write I then loose all special foreign characters somehow. If I
transform right to the response object the special characters in German
and
Spanish show correctly and works great.
Workaround 4 is not an option for me.
Again thanks for the help. I was waiting for something like this to happen
with all the automatic updates.
Response.CodePage = 65001
Response.CharSet = "UTF-8"
Response.Write objXML1.transformNo­de(objXSL)
This code should work for all characters.
Does the above not work for you?
Can you provide an example characters you are having trouble with?
--
Anthony Jones - MVP ASP/ASP.NET

Hi Anthony,

Thanks for that. Changing the code page did it. Now characters like © or
the spanish show up correctly. I had the Response.charset set to UTF-8
already.

Now I just have to change all the pages.

Thanks

Luis Vargas
Add comment
 

Add new comment

As:
Login:  Password:  
 
 
  
 
Пожалуйста, относитесь к собеседникам уважительно, не используйте нецензурные слова, не злоупотребляйте заглавными буквами, не публикуйте рекламу и объявления о купле/продаже, а также материалы нарушающие сетевой этикет или законы РФ. Ваш ip-адрес записывается.


QAIX > ASP web-programming > Heads up, Update 955069 breaks transformNodeToObje­ct in ASP 15 November 2008 23:23:01

see also:
pass tests:
Do you know women?
Trix
see also:
How to Create and Own DVD for Solar…
8 Tips to Choose DVD Copy Software for…
How to Play Different Region DVD Movies…

  Copyright © 2001—2010 QAIX
Идея: Монашёв Михаил.
Авторами текстов, изображений и видео, размещённых на этой странице, являются пользователи сайта.
See Help and FAQ in the community support.qaix.com.
Write in the community about the bugs you have noticedbugs.qaix.com.
Write your offers and comments in the communities suggest.qaix.com.
Information for parents.
Пишите нам на .
If you would like to report an abuse of our service, such as a spam message, please .
Если Вы хотите пожаловаться на содержимое этой страницы, пожалуйста .