OSDN Git Service

TwitterApiConnection経由のリクエストでキャッシュを無効化する
authorKimura Youichi <kim.upsilon@bucyou.net>
Wed, 4 May 2016 07:15:18 +0000 (16:15 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Wed, 4 May 2016 08:40:09 +0000 (17:40 +0900)
f1756cbf3c00f426cb44998581a4c8fe9f9a815a で修正された HttpConnection と同様にキャッシュを無効化する

OpenTween/Connection/Networking.cs
OpenTween/Connection/TwitterApiConnection.cs
OpenTween/OpenTween.csproj

index 6a684d1..277cca2 100644 (file)
@@ -139,9 +139,9 @@ namespace OpenTween.Connection
         /// OpenTween で必要な設定を施した HttpClientHandler インスタンスを生成します
         /// </summary>
         [SuppressMessage("Microsoft.Reliability", "CA2000:DisposeObjectsBeforeLosingScope")]
-        public static HttpClientHandler CreateHttpClientHandler()
+        public static WebRequestHandler CreateHttpClientHandler()
         {
-            var handler = new HttpClientHandler();
+            var handler = new WebRequestHandler();
 
             if (Networking.Proxy != null)
             {
index 29f82ec..724794c 100644 (file)
@@ -24,6 +24,7 @@ using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using System.Net;
+using System.Net.Cache;
 using System.Net.Http;
 using System.Runtime.Serialization;
 using System.Text;
@@ -262,7 +263,10 @@ namespace OpenTween.Connection
 
         private void InitializeHttpClient(string accessToken, string accessSecret)
         {
-            var handler = new OAuthHandler(Networking.CreateHttpClientHandler(),
+            var innerHandler = Networking.CreateHttpClientHandler();
+            innerHandler.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache);
+
+            var handler = new OAuthHandler(innerHandler,
                 ApplicationSettings.TwitterConsumerKey, ApplicationSettings.TwitterConsumerSecret,
                 accessToken, accessSecret);
 
index c365a8d..6cf8993 100644 (file)
@@ -51,6 +51,7 @@
     <Reference Include="System.Core" />
     <Reference Include="System.Drawing" />
     <Reference Include="System.Net.Http" />
+    <Reference Include="System.Net.Http.WebRequest" />
     <Reference Include="System.Runtime.Serialization" />
     <Reference Include="System.Web" />
     <Reference Include="System.Windows.Forms" />