Пара очень простых вопросов. Я новичок в WCF и создаю приложение, в котором есть проект службы, проект веб-приложения и несколько проектов библиотеки классов, которые я использую для бизнес-логики и т. Д.
Я размещаю WCF локально на своем IIS и пытаюсь добавить сервисные ссылки на проекты.
Вопрос 1. При добавлении ссылок мне следует добавлять ссылку на службу для каждого проекта отдельно или есть ли способ, которым я могу совместно использовать одну и ту же ссылку на службу для всех проектов?
Причина, по которой я спрашиваю, состоит в том, что, если я добавляю отдельные ссылки, каждая ссылка получает свое собственное пространство имен, и когда мне приходится передавать один и тот же объект между проектами, я получаю InvalidCastException, поскольку каждый ServiceClient имеет свое пространство имен.
Пример -
Site.Business.XDataService.XDataServiceClient (). GetItem ()
это не то же самое, что
Site.Web.XDataService.XDataServiceClient (). GetItem ()
Вопрос 2. Я указал адрес локальной службы в классе, который реализует интерфейс службы, как показано ниже -
[ServiceBehavior (Namespace = "http://localhost:801/XDataService.svc", IncludeExceptionDetailInFaults = true)]
Это не кажется правильным. Если я перенесу свой код в другую / живую среду, мне, очевидно, придется снова изменить эту часть и перекомпилировать. Где я могу указать это (Web.Config?), Чтобы я мог изменить этот адрес без необходимости перестраивать свое приложение?
Ценю любое понимание.
Спасибо!