【问题标题】:Problem consuming strongly typed datatable (returned from 4.0 webservice) in asp.net 1.1 web application在 asp.net 1.1 Web 应用程序中使用强类型数据表(从 4.0 Web 服务返回)的问题
【发布时间】:2010-12-16 18:27:21
【问题描述】:

我在 asp.net 4.0 中编写了一个 web 服务,它返回一个强类型数据表,如下所示。 数据表是使用 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 应用程序中添加服务 Web 引用,并在我想要使用信息的 aspx 页面中创建代理实例。我不调用 web 方法...只是创建代理实例,如下所示,

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
    }

}

一切编译正常。但是当我尝试执行代码时,出现以下错误。

名为 '' 的 XML 元素来自 命名空间“http://tempuri.org”是 已经存在于当前范围内。 使用 XML 属性指定另一个 元素的 XML 名称或命名空间。

我尝试在 4.0 Web 应用程序中使用 webmethod,一切正常。谁能帮我解决这个错误?在 1.1 应用程序中使用 4.0 类型的数据表/数据集是否有更好的方法?

【问题讨论】:

    标签: asp.net datatable asmx


    【解决方案1】:

    显而易见的问题是问为什么您至少不使用 ASP.NET 2.0?它修复了很多 XML 错误。

    下一个问题是您为什么不使用 WCF 来创建您的服务? Microsoft 平台上的所有新 Web 服务开发都应使用 WCF。

    最后,如果即使你不调用任何 webmethods 也出现问题,那么问题显然与类型化的数据表无关!尝试通过创建一个仅返回 intstring 的更简单的 Web 服务来简化问题,然后看看会发生什么。

    【讨论】:

      猜你喜欢
      • 2010-09-12
      • 1970-01-01
      • 2016-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      相关资源
      最近更新 更多