2017-04-27 54 views
-1

我有Xamarin Forms應用程序,其中圖像上傳到服務器。我想在UI上顯示進度條。我試圖用this參考創建它。我創建的類ProgressableStreamContent:如何在Xamarin中實現可進度圖片上傳

public class ProgressableStreamContent : HttpContent 
{ 
    public ProgressableStreamContent(HttpContent content, Action<int> progress) 
    {...} 

    protected override Task SerializeToStreamAsync(Stream stream, TransportContext context) 
    {...} 
} 

問題是在TransportContext不被認爲是類SerializeToStreamAsync程序的參數。錯誤消息是:「無法找到類型或命名空間名稱'TransportContext'(您是否缺少using指令或程序集引用)?」。當我瀏覽到HttpContent,有:

public abstract class HttpContent : IDisposable 
{ 
    ... 
    protected abstract Task SerializeToStreamAsync(Stream stream, Net.TransportContext context); 
} 

所以它不writen TransportContext,但Net.TransportContext。這是否意味着它是內部的?我如何在我的代碼中使用這個類?我試圖把System.Net.TransportContext沒有成功。

+0

根據[.NET文檔](https://msdn.microsoft.com/en-us/library/system.net.transportcontext(v = vs.110).aspx),它不是內部的,也可用於便攜式類庫。它包含在'System'程序集中。當你添加像「System.Net.TransportContext」這樣的完整命名空間時,你是否得到相同的錯誤信息?您設定的目標框架(配置文件)是什麼? –

回答

1

我還沒有安裝Microsoft.Net.Http Nuget包。現在它正在編譯。我怎樣才能刪除問題?

+0

我不會刪除這個問題。其他用戶可能會在未來得到這方面的幫助。我仍然覺得奇怪的是,只要我使用了正確的目標框架(例如78或111),我就不必安裝這個NuGet包來實現這個工作。 –

+0

我不知道我正在使用哪個目標框架。我如何檢查? – Uros

+0

在Xamarin Studio上:轉到您的項目選項,在「常規」選項卡下,您可以在「目標框架」下找到它。在Visual Studio上(我無法檢查,因爲我現在在Mac上):轉到您的項目選項,可能在'Library'或'General'tab下,您可以找到'Target Frameworks'。在VS上,它可能不會顯示配置文件編號。 –

相關問題