2014-02-25 38 views
0

我必須爲我的項目使用.NET 3.5,我正在嘗試爲ServiceStack .NET 4.0服務器創建一個客戶端。我是Win 7,VS 2010,.NET 3.5。在網絡上搜索了幾個小時後,我發現一箇舊版本ServiceStack這裏: https://github.com/ServiceStackV3/ServiceStackV3.NET 3.5上的ServiceStack.Client

您可以安裝它想:

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不夠了解。

+0

*我正在嘗試爲ServiceStack創建一個客戶端*我看了一下ServiceStack,看起來它會生成RESTful API。所以(在我看來)客戶端可以是任何客戶端 - 它不需要基於ServiceStack。 –

+0

正確,但不是強類型的客戶端。我已經使用「HttpWebRequest webRequest =(HttpWebRequest)WebRequest.Create(url);」然後我再解析原始請求,如:「string [] subcode = regex.Split(substrings [2]);」 「子串」來自原始響應。但我試圖比所有這些都更清潔,並使用類型。也許有比C#或者圖書館內置的更清晰的方法嗎? – tradetree

+0

一個解決方案將是一個通用的C#JSON解析器:using System.Runtime.Serialization.Json;一個完整的例子在這裏:http://msdn.microsoft.com/en-us/library/hh674188.aspx但我希望能夠使用servicestack客戶端庫。 – tradetree

回答

1

v3 documentation for the c# client所述,您會在ServiceStack.Common NuGet包中找到客戶端。因此,它可以使用安裝:

安裝,包裝ServiceStack.Common

命名空間ServiceStack.ServiceClient.Web下存在於客戶端。

+0

我必須缺少因爲我已經安裝了ServiceStack.Common,這不是問題。我沒有意識到的是,而不是「使用ServiceStack.Common」,我需要「使用ServiceStack.ServiceClient.Web」。但我仍然沒有在文檔中看到這一點。有這一行,「例如通過在包管理器控制檯中運行Install-Package ServiceStack.Common。」但沒有關於ServiceClient.Web。 – tradetree

+2

@tradetree是的,文檔不會給命名空間提示,這可能是一種痛苦。像Visual Studio resharper這樣的工具可以幫助您,因爲它們可以自動爲您找到名稱空間。 Xamarin Studio也有內置的這個功能。如果您不想使用工具來幫助查找適當的名稱空間,則可以在GitHub上的源代碼中搜索類名,然後您將找到名稱空間。我會建議更新文檔以使其更清晰。 – Scott