2017-05-29 63 views
0
發現

我是新來Xamarin,所以我希望這不是爲客戶使用一個愚蠢的問題:)HttpWebRequiest.AllowAutoRedirect不PCL

我開發一個PCL將作爲SDK(NuGet包)函數爲他們的Http APIs。 在iOS和Android上都有很多邏輯需要完成,所以我認爲PCL是一條可行的路線。 我打包的API是HttpWebRequest,基本上我公開了完全相同的API並在請求發送之前處理這些請求。

我需要做的一件事是確保所有重定向都經過我,以便控制cookie。

我發現proper way做到這一點是設置: HttpWebRequest.AllowAutoRedirect = false

然而,當我嘗試這一點,我得到一個錯誤: 「HttpWebRequest的」不包含一個定義爲「AllowAutoRedirect」 .. 。

這是一個示例代碼:

using System; 
using System.IO; 
using System.Net; 
using System.Threading.Tasks; 

namespace PCLTest.Net 
{ 
    public class MyHttpWebRequest 
    { 
     HttpWebRequest request; 

     public bool AllowAutoRedirect 
     { 
      get 
      { 
       return request.AllowAutoRedirect; 
      } 
      set 
      { 
       request.AllowAutoRedirect = value; 
      } 
     } 
    } 
} 

我缺少什麼?

回答

0

OK刪除,所以我也沒弄明白爲什麼這個API是隱藏的,如何使框架揭露它,但我最終解決這個問題的方式是這樣的:

using System; 
using System.IO; 
using System.Net; 
using System.Threading.Tasks; 

namespace PCLTest.Net 
{ 
    public class MyHttpWebRequest 
    {  
     HttpWebRequest request; 

     public bool AllowAutoRedirect 
     { 
      get 
      { 
       Type t = request.GetType(); 
       PropertyInfo pi = t.GetRuntimeProperty("AllowAutoRedirect"); 
       return (bool)pi.GetValue(request); 
      } 
      set 
      { 
       request.AllowAutoRedirect = value; 
      } 
     } 
    } 
} 
0

從PLC目標的Windows Phone(ProjectName->選項 - >常規)

+0

不是,那並沒有工作。我嘗試了幾個沒有Windows手機的配置文件,它不起作用。是否有包含在哪個配置文件中的API的文檔? – Yoshkebab