1

ソリューションの1つをPCLに移植していますが、サポートされているクラスとNETFramework基本クラスライブラリのプロパティに関して多くの問題に直面しています。同じ機能を異なるプラットフォーム間で機能させるために、WebClientを実装しましたが、WebRespornceクラスにステータスコードプロパティが表示されません。

コードサンプルを投稿する前に、現在ターゲットにしているプラ​​ットフォームを強調しておきます。

フレームワークのバージョンは4.5で、ターゲットとしているプラ​​ットフォームは次のとおりです。Windows Phone 8 Windows 8(RT)Windows7/8とWPFアプリケーション。

これが私たちが使用しているコードですが、クラウドはWebResponce内にStatusCodeプロパティを見つけられません

    private static byte[] ReadStreamFromResponce(WebResponse result)
    {
        using (var responseStream = result.GetResponseStream())
        using (var ms = new MemoryStream())
        {
            if (responseStream != null) responseStream.CopyTo(ms);
            return ms.ToArray();
        }
    }

    private static Task<byte[]> MakeAsyncRequest(string requestString)
    {
        var request = (HttpWebRequest)WebRequest.Create(requestString);
        Task<WebResponse> requestTask = Task.Factory.FromAsync(
            request.BeginGetResponse,
            asyncResult => request.EndGetResponse(asyncResult),
            null);
        return requestTask.ContinueWith(t => ReadStreamFromResponce(t.Result));
    }
4

1 に答える 1

4

プロパティは、基本クラスではなく、HttpWebResponseクラス(から派生)にあります。WebResponse

ステータスコードにアクセスするには、結果を適切な派生クラスにキャストする必要があります。

于 2013-01-09T20:57:22.727 に答える