一个调用WebService的问题,请帮忙看看,谢谢!
环境:Silverlight 1.1,VS2008 bate 2
步骤:1、用VS2008建立一个WebService项目(基于.Net3.5),建立一个服务如下:
using System;
using System.Data;
using System.Linq;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.Xml.Linq;
namespace TestService
{
/// <summary>
/// Summary description for MapService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
//[System.Web.Script.Services.ScriptService]
public class MapService : System.Web.Services.WebService
{
[WebMethod]
public stringTest()
{
System.Text.StringBuilder strB = new System.Text.StringBuilder();
for (int i = 0; i < 105000; i++)
strB.Append("t");
string str = strB.ToString();
return str;
}
}
}
2、用VS2008建立一个SL项目,添加WebServices引用,并在Page_loaded事件里调用
TestServices = new TestService();
string strTest = s.Test();
当把函数Test中i < 105000改成i<100000,整个调用过程正确,但如果是i < 105000,调用就会报错,错误是“Invoking error”,
为什么会这样?如果返回值用Object, 也一样会有这个问题,感觉好像返回值有长度限制,谁能帮帮我?
注:异步调用也测试了,也会有同样问题