ServiceStack.Client в .NET 3.5

Я должен использовать .NET 3.5 для своего проекта, и я пытаюсь создать клиент для сервера ServiceStack .NET 4.0. У меня Win 7, VS 2010, .NET 3.5. После нескольких часов поиска в Интернете я нашел более старую версию ServiceStack здесь: https://github.com/ServiceStackV3/ServiceStackV3

Вы можете установить его так:

PM> Install-Package ServiceStack -Version 3.9.71

Это удалось, но потом я обнаружил, что для этого вызова нет клиентских методов:

var client = new JsonServiceClient("http://host:8080/");

Итак, я попытался установить клиент:

PM> Install-Package ServiceStack.Client -Version 3.9.71

и он не смог найти этот пакет. Как создать клиент .NET 3.5? Я пробовал много вещей, включая поиск известной предыдущей версии клиента, но я недостаточно знаю о Github, чтобы найти ее.


person tradetree    schedule 25.02.2014    source источник
comment
Я пытаюсь создать клиент для ServiceStack Я просмотрел ServiceStack, и похоже, что он создает RESTful API. Так что (мне кажется) клиент может быть любым клиентом - он не обязательно должен быть основан на ServiceStack.   -  person ta.speot.is    schedule 25.02.2014
comment
Правильный, но не строго типизированный клиент. Я использовал HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url); раньше для необработанных запросов, которые я затем анализирую, например: string[] subcode = regex.Split(substrings[2]); где подстроки из необработанного ответа. Но я стараюсь быть чище всего этого и использовать типы. Возможно, есть более чистый метод, чем мой, встроенный в C# или библиотеку?   -  person tradetree    schedule 25.02.2014
comment
Одним из решений может быть общий синтаксический анализатор C# JSON: использование System.Runtime.Serialization.Json; Полный пример здесь: msdn.microsoft.com/en-us/library/hh674188. .aspx Но я надеялся использовать клиентскую библиотеку сервисного стека.   -  person tradetree    schedule 25.02.2014
comment
HttpClient строго типизирован asp.net/web-api/overview/web-api-clients/   -  person ta.speot.is    schedule 25.02.2014


Ответы (1)


Как указано в документации v3 для клиента c#, вы найдете клиент в пакете ServiceStack.Common NuGet. Таким образом, его можно установить с помощью:

Пакет установки ServiceStack.Common

Клиент существует в пространстве имен ServiceStack.ServiceClient.Web.

person Scott    schedule 25.02.2014
comment
Я должен что-то упустить, потому что я установил ServiceStack.Common, это не проблема. Чего я не понимал, так это того, что вместо использования ServiceStack.Common мне нужно было использовать ServiceStack.ServiceClient.Web. Но я до сих пор не вижу этого в документации. Есть эта строка, например. запустив Install-Package ServiceStack.Common в консоли диспетчера пакетов. Но ничего о ServiceClient.Web. - person tradetree; 25.02.2014
comment
@tradetree Да, документация не дает подсказок о пространстве имен, что может быть проблемой. Такие инструменты, как resharper для Visual Studio, помогают, поскольку они могут автоматически обнаруживать пространство имен для вас. Xamarin Studio также имеет встроенную функциональность. Если вы не хотите использовать инструмент для поиска подходящего пространства имен, вы можете выполнить поиск имени класса в исходном коде на GitHub, после чего вы найдете пространство имен. Я предлагаю обновить документацию, чтобы сделать ее более понятной. - person Scott; 25.02.2014