Пространство имен похожее смешение имен с WCF - PullRequest
4 голосов
/ 11 февраля 2012

Я немного запутался, по каким правилам я должен следовать. Я обнаружил, что проблема возникает из-за того, что текущее имя приложения просто «Общее», что также является названием «Общей» библиотеки компании. У меня есть служба WCF, которая работает и ссылается на пару библиотек классов со следующими пространствами имен:

  • Служба WCF: Общие услуги
  • Уровень домена приложения: Common.Domain
  • Общая библиотека: CompanyName.Common

При таком именовании он прекрасно компилируется, однако, когда я использую сервис с тестовым клиентом WCF, он говорит, что Company.Common не содержит Domain Вы пропустили ссылку на сборку?

Company.Common действительно не содержит вложенного пространства имен Domain. Существует отдельный Common.Domain, но он не должен быть вложенным, так что ...?

Если я использую службу в другом клиенте (например, в веб-приложении), который уже ссылается на пространство имен CompanyName.Common, он не будет повторно использовать тип, поскольку пространства имен перепутаны.

Используя Visual Studio, я могу просмотреть две ссылочные сборки на клиенте, и они показывают правильную структуру. Из того, что я могу сказать, просто кажется, что WCF не любит пространства имен.

Не думаю, что кто-то еще сталкивался с этим?

1 Ответ

1 голос
/ 18 февраля 2012

WCF имеет ряд проблем, когда речь идет о конфликтующих пространствах имен и даже классах, если они представлены как разные конечные точки веб-службы.Это приведет к пустому файлу Reference.cs службы, например.В любом случае, общей хорошей рекомендацией является переименование пространства имен во что-то со смыслом или разбиение его на множество более значимых пространств имен, кроме «Common».

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