Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net web api 某些类型的自定义XmlSerializer在ASP.NET Web API 2.1中不起作用_Asp.net Web Api_Xmlserializer - Fatal编程技术网

Asp.net web api 某些类型的自定义XmlSerializer在ASP.NET Web API 2.1中不起作用

Asp.net web api 某些类型的自定义XmlSerializer在ASP.NET Web API 2.1中不起作用,asp.net-web-api,xmlserializer,Asp.net Web Api,Xmlserializer,ASP.NET Web API不会调用为MyType注册的XmlSerializer,如下所示- public class MySerializer : System.Xml.Serialization.XmlSerializer { public override bool CanDeserialize(System.Xml.XmlReader xmlReader) { return base.C

ASP.NET Web API不会调用为MyType注册的XmlSerializer,如下所示-

 public class MySerializer : System.Xml.Serialization.XmlSerializer
        {
            public override bool CanDeserialize(System.Xml.XmlReader xmlReader)
            {
                return base.CanDeserialize(xmlReader);
            }
            protected override System.Xml.Serialization.XmlSerializationReader CreateReader()
            {
                return base.CreateReader();
            }

            protected override System.Xml.Serialization.XmlSerializationWriter CreateWriter()
            {
                return base.CreateWriter();
            }

            protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader)
            {
                return base.Deserialize(reader);
            }


            protected override void Serialize(object o, System.Xml.Serialization.XmlSerializationWriter writer)
            {
                try
                {
                    base.Serialize(o, writer);
                }
                catch (Exception ex)
                {
                }
            }
        }
当我在MySerializer方法中放置断点时,它不会被加热

GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;    
GlobalConfiguration.Configuration.Formatters.XmlFormatter.RemoveSerializer(typeof(MyType));
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SetSerializer<MyType>(new MySerializer());

我无法重新编写您的issueThanks Kiran,我将从一个Web API应用程序重试此操作。不确定为什么它在我的应用程序中不起作用。@kiran challa,很抱歉反应太晚。我试图为新的应用程序验证上述内容,但它现在仍然在工作。我有什么遗漏吗?