Вызов службы WCF без ссылки на службу - PullRequest
1 голос
/ 24 февраля 2011

У меня есть проект A, в котором есть ссылка на службу для службы WCF. Я хочу вызвать службу в проекте B без ссылки на службу. Из того, что я понимаю, ссылка на службу - это просто способ создания прокси и конфигурации и не используется во время выполнения. Я скопировал прокси-класс и узел из проекта A в проект B.

Могу ли я просто создать экземпляр прокси-класса в проекте B и ожидать, что он будет напрямую использовать конфигурацию. предметы и подключиться к сервису без чего-либо еще? (Я не могу попробовать это прямо сейчас)

Ответы [ 3 ]

5 голосов
/ 24 февраля 2011

Краткий ответ да.

Пока у вас есть интерфейс, способ подключения к услуге, вы можете создать канал и общаться со службой, не имея ссылки.

ссылка просто облегчает вам развитие против.

0 голосов
/ 24 декабря 2014

Вот рабочая копия. Для меня это работает нормально и возвращает список

private List<MyClass> GetAllSiteDetailsJSON(string language)
{

   Uri address = 
            new Uri(@"http://weburlpath/MyService/MyService.svc/GetAllList/"
                                                                   + language);
   HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
   request.Method = "GET";
   request.ContentType = "application/x-www-form-urlencoded";

   using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
   {
       StreamReader reader = new StreamReader(response.GetResponseStream());
       string jSon = reader.ReadToEnd();
       reader.Close();

       JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
       List<MyClass> result = jsSerializer.Deserialize<List<MyClass>>(jSon);
       return result;
   }
}

А вот и класс

public class MyClass
{
    public string ID { get; set; }
    public string Name { get; set; }       
    public List<Location> Locations { get; set; }
}

public class Location
{
    public string Region { get; set; }
    public string Country { get; set; }
}
0 голосов
/ 04 марта 2011

Посмотрите на создание каналов из ваших контрактов на обслуживание с ChannelFactory .

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