我在asp.net 4.0中编写了一个webservice,它返回一个强类型的数据表,如下所示。 数据表是使用Visual Studio设计器创建的。
[WebService(Namespace = "http://tempuri.org")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class ConsumerService : System.Web.Services.WebService
{
[WebMethod]
public ConsumerTable GetConsumer(string key)
{
...
}
}
我有一个asp.net 1.1应用程序,我想要使用webmethod返回的ConsumerTable。我在asp.net 1.1应用程序和aspx页面中添加服务Web引用,我想在其中使用该信息,我创建代理实例。我没有调用webmethod ...只是创建代理实例,如下所示,
public class Test : System.Web.UI.Page
{
svc.ConsumerService svc = new testProj.svc.ConsumerService();
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
}
一切都很好。但是当我尝试执行代码时,我得到了以下错误。
名为''from的XML元素 命名空间'http://tempuri.org'是 已经存在于当前范围内。 使用XML属性指定另一个 元素的XML名称或命名空间。
我尝试在4.0 Web应用程序中使用webmethod,一切都按预期工作。任何人都可以帮我解决这个错误的解决方案吗?有没有更好的方法在1.1应用程序中使用4.0类型的数据表/数据集?
答案 0 :(得分:0)
显而易见的问题是问你为什么不使用至少ASP.NET 2.0?它解决了很多XML错误。
接下来的问题是您没有使用WCF创建服务的原因? Microsoft平台上的所有新Web服务开发都应使用WCF。
最后,如果即使你没有调用任何webmethods就会出现问题,那么问题显然与类型化数据表无关!尝试通过创建一个只返回int
或string
的简单Web服务来简化问题,看看会发生什么。