get { return m_salary; }
set { m_salary = value; }
}
<?xml version="1.0"?>
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Id>12345</Id>
<Name>Dflying</Name>
<Email>Dflying@some.com</Email>
</Employee>
若是某个Web Service方法的返回值为字符串类型,且该Web Service方法将使用XML方式序列化返回值,那么该字符串将被默认为是一个XML文档的片段,并以XML方式进行序列化。例如如下Web Service方法:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
public string GetString()
{
string theString = "<persons>"
+ "<person><name>Tom</name><age>30</age></person>"
+ "<person><name>Jerry</name><age>20</age></person>"
+ "</persons>";
return theString;
}
图3-38 普通字符串的内容被默认当成了XML片段处理
当然,ASP.NET AJAX做这样的假设有它的道理,那就是字符串可能实际上表示的就是一段XML数据。但是如果我们需要的就是一个普通的字符串,那么这样做岂不是帮了倒忙吗?
幸运的是,通过在 [ScriptMethod]属性中将XmlSerializeString指定为true,我们即可得到普通的字符串,即避免了ASP.NET AJAX为我们做任何的自动转换。让我们按照如下代码修改前面的GetString()方法,注意其中粗体部分:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Xml,
XmlSerializeString = true)]
public string GetString()
{
文章来源于领测软件测试网 https://www.ltesting.net/