различия пространства имен между ссылками на веб-службы и приложения - PullRequest
1 голос
/ 04 июня 2009

У меня есть 2 приложения, которые оба ссылаются на сборку AppTypes.dll. Одно приложение является обычным приложением winforms, а другое - веб-службой.

Я передаю объект, определенный в AppTypes, моему веб-сервису, но я получаю конфликты имен, потому что, очевидно, веб-сервис также определяет эти типы после добавления сервиса в мой проект. Есть ли способ, которым я могу это исправить или устранить путаницу, которая имеет VS или это нормально?

Ответы [ 2 ]

2 голосов
/ 04 июня 2009

С прокси веб-службы вы можете выбрать пространство имен при добавлении веб-ссылки или через wsdl.exe /namespace. Тем не менее, это будут отдельные типы, и вы не можете рассматривать эти два как одно и то же. Это часто вызывает много путаницы ...

Если вы хотите поделиться типами, рассмотрите возможность использования WCF вместо веб-служб в стиле 2.0, что позволяет это - как через IDE, так и через svcutil.exe /reference

0 голосов
/ 05 июня 2009

Ну, я, вероятно, не должен отвечать на этот пост, потому что я не уверен, что полностью понимаю ваш вопрос, но иногда вы можете обойти конфликты пространства имен, такие как тот, который я подозреваю , который вы можете иметь, используя «Глобальная» директива.

namespace Foo
{
    class Bar
    {
    }
}

namespace Bar
{
    class Foo
    {
        static void DoIt()
        {
             // Foo.Bar x1; // This wont compile.
            global::Foo.Bar x2; // This will compile.            
        }
    }
}

Директива «global» указывает компилятору выйти и разрешить «Foo» как пространство имен, а не как класс, позволяющий устранить неоднозначности имен.

Надеюсь, я здесь не совсем не по теме, извините, если да.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...