SoapIgnore attribute ignored.
Messages   Related Types
This message was discovered on microsoft.public.dotnet.framework.aspnet.webservices.
Responses highlighted in red are from those people who are likely to be able to contribute good, authoratitive information to this discussion. They include Microsoft employees, MVP's and others who IMHO contribute well to these kinds of discussions.
Post a new message to this list...

Benjamin Day (VIP)
I'm passing classes through a web service. There are some properties on the
class that I don't need to be serialized and would like to remove them for
performance (size) reasons so I've marked them with the
System.Xml.Serialization.SoapIgnore attribute.

I recompiled and checked what was being sent over the wire. The ignored
property is still showing up in the xml serialization!

I've attached some sample code that uses XmlSerializer and I get the same
behavior as thru the web service. (which, I suppose should make a lot of
sense)

Any ideas?

Thanks,
-Ben

// test method
private void DoSerialize()
{
    TestClass temp=new TestClass();

    XmlSerializer serializer=new XmlSerializer(typeof(TestClass));
    
    StringBuilder sb=new StringBuilder();

    StringWriter stream=new StringWriter(sb);

    serializer.Serialize(stream, temp);

    MessageBox.Show(sb.ToString());            
}

// class to be serialized
using System;
using System.Xml.Serialization;

namespace SoapIgnoreTest
{
    /// <summary>
    /// Summary description for TestClass.
    /// </summary>
    public class TestClass
    {
        public TestClass()
        {    
        }

        public string NotIgnored
        {
            get
            {
                return "NotIgnored";
            }
            set
            {
            }
        }

        [SoapIgnore]
        public string Ignored
        {
            get
            {
                return "Ignored";
            }
            set
            {
            }
        }
    }
}

--
http://www.benday.com
Reply to this message...
 
    
Tomas Restrepo \(MVP\) (VIP)
Benjamin,

> I'm passing classes through a web service. There are some properties on
the
[Original message clipped]

SoapIgnoreAttribute is only taken into account if you're using SOAP RPC
encoding, which it seems you're not using. For literal encoding (which is
the default), use [XmlIgnore] instead.

--
Tomas Restrepo
Click here to reveal e-mail address

Reply to this message...
 
    
Benjamin Day (VIP)
Thanks. That was exactly what I needed.

I was hoping for a sec that I'd found a bug in the serialization namespace.
:)

-Ben

"Tomas Restrepo (MVP)" wrote:

[Original message clipped]

Reply to this message...
 
 
System.IO.StringWriter
System.Text.StringBuilder
System.Windows.Forms.MessageBox
System.Xml.Serialization.SoapIgnoreAttribute
System.Xml.Serialization.XmlSerializer




Ad
MBR BootFX
Best-of-breed application framework for .NET projects, developed by Matthew Baxter-Reynolds and MBR IT
 
 Copyright © Matthew Baxter-Reynolds 2001-2008. '.NET 247 Software Development Services' is a trading style of MBR IT Solutions Ltd.
Contact Us - Terms of Use - Privacy Policy - www.dotnet247.com