簡體   English   中英

通過HTTP代理的F#Odata服務類型提供程序

[英]F# Odata service type provider through http proxy

我想使用odata類型提供程序,但在編譯時會導致下一個錯誤: (407) proxy authentication required 在設計時沒有錯誤。 有人知道如何在類型提供程序中設置代理嗎? 樣例代碼:

open Microsoft.FSharp.Data.TypeProviders
type db = ODataService<"http://ebayodata.cloudapp.net/">
[<EntryPoint>]
     let main argv=
           let eBay = db.GetDataContext()
           0

博客文章提到了一些可能包含代理的示例代碼。

Freebase類型提供程序可以與.NET 3.5,.NET 4.0,.NET 4.5,Silverlight和Portable編程一起使用。 在某些情況下可能需要代理。 Tests \\ ProjectsUsingTypeProvider.sln中的項目顯示了針對這些不同情況的一些示例庫。

您可能還希望專門查看此文件

嘗試指定默認的Web代理,如下所示:

open System.Net // for WebProxy etc.
open Microsoft.FSharp.Data.TypeProviders

// put here actual proxy address
let proxy = new WebProxy("http://192.168.1.1:3128") :> IWebProxy
// put here your credentials if needed
proxy.Credentials <- NetworkCredential("proxy_user", "password")
// set up a default proxy
WebRequest.DefaultWebProxy <- proxy

// here the default proxy will be used
type db = ODataService<"http://ebayodata.cloudapp.net/">

或者,您可以嘗試使用IE中指定的代理,如下所示:

WebRequest.DefaultWebProxy <- WebRequest.GetSystemWebProxy()
WebRequest.DefaultWebProxy.Credentials <- CredentialCache.DefaultNetworkCredentials

如果編譯時出錯,則可能是由於F#編譯器(Fsc.exe)無法連接到代理服務器。 您可以通過修改Fsc.exe.config來解決此Fsc.exe.config ,只需在configuration部分下添加以下文本:

  <system.net>
    <defaultProxy useDefaultCredentials="true" />    
  </system.net>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM