Программно вызывать службу WCF REST без ссылки на контракт - PullRequest
2 голосов
/ 11 июля 2011

Это полезно в качестве основы:

Как программно подключить клиента к службе WCF?

Однако я бы хотел, чтобы мой клиент сделалТо же самое в стиле REST без знания какого-либо контракта на обслуживание.

Видя, как это легко сделать в Javascript / jQuery, кажется странным, что в C # нет вариантов.

Ответы [ 2 ]

3 голосов
/ 11 июля 2011

В C # все, что вам нужно, это стандартный HttpWebRequest или WebClient, подобный этому:

var request = HttpWebRequest.Create("http://localhost:28330/books");
var response = request.GetResponse();

var reader = new StreamReader(response.GetResponseStream());
Console.WriteLine(reader.ReadToEnd());

или

var client = new WebClient();
Console.WriteLine(client.DownloadString("http://localhost:28330/books"));

Конечно, вам все равно нужно что-то делать с XML или JSON (или какой-либо другой формат данных возвращается), но это не отличается в JavaScript с jQuery.

0 голосов
/ 11 июля 2011

Видя, как это легко сделать в Javascript / jQuery, кажется странным, что в C # нет вариантов.

Это только частично верно.Это делает - вы можете использовать HttpWebRequest, чтобы сделать звонок.Старый REST StarterKit (только предварительный просмотр технологии) и новый Web-API (только CTP) обеспечивают лучшую поддержку в классе HttpClient.

...