0

次の応答コードがあります。System.Windows.ni.dllで「System.UnauthorizedAccessException」タイプの例外が発生しましたが、Messagebox.sohw()メソッドを呼び出してコード:200を表示すると、ユーザーcodeerrorで処理されませんでした。私のJsonは{"meta":{"code":200}}のようなものです

          private void ReadWebRequestCallback(IAsyncResult ar)
          {
           HttpWebRequest myReq = (HttpWebRequest)ar.AsyncState;
            HttpWebResponse myResponse = (HttpWebResponse)myReq.EndGetResponse(ar);
uritext.Text = myResponse.ResponseUri.ToString();
            using (StreamReader httpwebStreamReader = new StreamReader(myResponse.GetResponseStream()))
            {
                string results = httpwebStreamReader.ReadToEnd();    
            }
            myResponse.Close();
           var root = JsonConvert.DeserializeObject<RootObject>(jsondata);
           String codenum = root.meta.code.ToString();
           Messagebox.sohw(codenum);
           }
   public class Meta
    {
        public int code { get; set; }
    }

    public class RootObject
    {
        public Meta meta { get; set; }
    }
4

1 に答える 1

2

問題は、 からのコールバックがHttpWebRequest非 UI スレッドから発生することです。

MessageBox.ShowUI スレッドで実行できることは次のとおりです。

Dispatcher.BeginInvoke(() => MessageBox.Show(codenum));
于 2013-02-07T08:49:42.113 に答える