Проблема использования строго типизированных данных (возвращается из веб-сервиса 4.0) в веб-приложении asp.net 1.1 - PullRequest
0 голосов
/ 16 декабря 2010

Я написал веб-сервис в asp.net 4.0, который возвращает строго типизированные данные, как показано ниже.Таблица данных была создана с использованием конструктора 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, в котором я хочу использовать ConsumerTable, возвращаемый webmethod.Я добавляю сервисную веб-ссылку в приложение asp.net 1.1 и на странице aspx, где я хочу использовать информацию, я создаю экземпляр прокси.Я не называю 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
    }

}

Все компилируется нормально.Но когда я пытаюсь выполнить код, я получаю следующую ошибку:

Элемент XML с именем '' из пространства имен 'http://tempuri.org' уже присутствует в текущей области.Используйте атрибуты XML, чтобы указать другое имя XML или пространство имен для элемента.

Я попытался использовать веб-метод в веб-приложении 4.0, и все работает как положено.Может кто-нибудь, пожалуйста, помогите мне с решением этой ошибки?Есть ли лучший подход к использованию набора данных / наборов данных 4.0 в приложениях 1.1?

1 Ответ

0 голосов
/ 16 декабря 2010

Очевидный вопрос - спросить, почему вы не используете хотя бы ASP.NET 2.0?В нем исправлено множество ошибок XML.

Следующий вопрос: почему вы не использовали WCF для создания своего сервиса?Все новые разработки веб-сервисов на платформах Microsoft должны использовать WCF.

Наконец, если проблема возникает, даже если вы не вызываете веб-методы, то проблема, очевидно, не имеет ничего общего с типизированными таблицами данных!Попробуйте упростить проблему, создав более простой веб-сервис, который возвращает только int или string и посмотрите, что произойдет.

...