当我的 Web 服务返回一个自定义对象(仅包含四个字符串、三个整数和一个布尔值)时,它需要几秒钟(4-8 秒)。当同一台服务器以字符串形式发送相同的信息时,它几乎会立即发送。
如果重要的话,自定义对象类在同一个 Web 服务中定义。
我不认为它会有那么大的不同,还是我错过了一些基本的东西?
编辑:一些代码,我删除了一些变量以便于阅读。
Web 服务中定义的自定义类:
public class AddressSearchResult
{
public AddressSearchResult()
{
Address = String.Empty;
Country = String.Empty;
}
public AddressSearchResult(string address, string country)
{
Address = address;
Country = country;
}
public string Address { get; set; }
public string Country { get; set; }
}
Web 服务上的两个 WebMethod 之间的唯一区别是返回语句:
WebMethod1 返回 obj
return new AddressSearchResult((string)address["address"], (string)address["country"]);
WebMethod2 只返回一个字符串(只是为了表明我在这里做同样的事情)
return new AddressSearchResult((string)address["address"], (string)address["country"]).Address;
接收端,控制台应用程序:
AddressSearchResult result = adrSerWS.method1("example", "yehaa"); //THIS IS SLOW
string result2 = adrSerWS.method2("example", "yehaa"); //THIS IS FAST