Одна сущность, совместно используемая двумя веб-сервисами?

StackOverflow https://stackoverflow.com/questions/175649

  •  05-07-2019
  •  | 
  •  

Вопрос

Я работаю над проектом, где у меня есть 2 веб-сервиса, которым нужен один и тот же объект.Эти 2 веб-службы находятся на одном сервере, поэтому в серверной части они используют одни и те же классы.

На стороне интерфейса мой код потребляет и то , и другое веб-службы и видит сущности из обеих служб как отдельные (в разных пространствах имен), поэтому я не могу использовать эту сущность в обеих службах.

Кто-нибудь знает способ, позволяющий этому работать в .NET 2.0?

Я сделал это со своей сущностью:

[XmlType(TypeName = "Class1", Namespace = "myNamespace")]
public class Class1
{
    public int field;
}

Надеясь, что моя IDE каким-то образом "узнает", что класс одинаков в обеих веб-службах, чтобы он не создавал отдельные объекты для обоих классов, но безуспешно.

Возможно ли это сделать с помощью веб-служб .NET 2.0?

Это было полезно?

Решение

Я думаю, что вы не можете сделать это изнутри VS, но вы можете вручную использовать wsdl.exe утилита, подобная этой:

wsdl.exe /sharetypes http://localhost/MyService1.asmx?wsdl http://localhost/MyService2.asmx?wsdl

Обратите внимание на /sharetypes опция, которая включает функцию совместного использования типов.Эта функция создает один файл кода с единственным определением типа для идентичных типов, совместно используемых различными службами (пространство имен, имя и сигнатура передачи данных должны быть идентичными).

Подробная информация:

Другие советы

Я не уверен в деталях реализации с .NET 2.0, но я верю, что вы хотите сделать, это поместить общие классы в отдельный XSD-файл и ссылаться на него из ваших двух WSDL. Таким образом, общие типы имеют одинаковое пространство имен между двумя службами.

Теперь, как вы это делаете в .NET 2.0, я не могу дать вам подробности о ...

Можете ли вы проверить пространство имен сущности? Убедитесь, что он одинаков в обоих веб-сервисах.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top