Атрибуты предназначены для стандартной сериализации XML веб-службы. SoapFormatter предназначен для удаленной сериализации, а не для веб-службы.
Чтобы вы могли работать с примером, вы должны предоставить сопоставления типов для частей сообщений в кодировке SOAP.
[Serializable]
public class SampleClass
{
[SoapIgnore]
public Guid InstanceId
{
get;
set;
}
}
class Program
{
static void Main()
{
SampleClass cl = new SampleClass { InstanceId = Guid.NewGuid() };
XmlTypeMapping xtm = new SoapReflectionImporter().ImportTypeMapping(typeof(SampleClass));
XmlSerializer xs = new XmlSerializer(xtm);
using (FileStream stream = new FileStream(string.Format("C:\\Temp\\{0}.inv", Guid.NewGuid().ToString().Replace("-", "")), FileMode.Create))
{
xs.Serialize(stream, cl);
}
}
}