2012-12-13 20 views
6

के माध्यम से मैं ओडाटा प्रकार प्रदाता का उपयोग करना चाहता हूं लेकिन यह संकलन करते समय अगली त्रुटि का कारण बनता है: (407) proxy authentication required। डिज़ाइन समय पर कोई त्रुटि नहीं है। क्या कोई जानता है कि प्रकार प्रदाता में प्रॉक्सी कैसे सेट करें? नमूना कोड:एफ # ओडाटा सेवा प्रकार प्रदाता http प्रॉक्सी

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

हो सकता है कि इस पोस्ट कुछ सुराग प्रदान करता है: http://www.markhneedham.com/blog/2009/07/11/f -डाउनलोडिंग-ए-फाइल-से-पीछे-ए-प्रॉक्सी/ – Christian

+0

यदि आप प्रमाण-पत्र निर्दिष्ट करते हैं तो क्या होता है? 'EBay। प्रमाण पत्र <- System.Net.NetworkCredential (" उपयोगकर्ता "," पास "," डोमेन ")' –

+0

क्षमा करें, वह बेवकूफ था, आपने कहा कि यह संकलन समय के दौरान था, रन-टाइम नहीं। –

उत्तर

2

यह blog posting कुछ नमूना कोड जो प्रॉक्सी कवर कर सकते हैं उल्लेख है।

फ्रीबेस प्रकार प्रदाता .NET 3.5, .NET 4.0, .NET 4.5, सिल्वरलाइट और पोर्टेबल प्रोग्रामिंग के साथ उपयोग किया जा सकता है। कुछ मामलों में एक प्रॉक्सी की आवश्यकता हो सकती है। टेस्ट \ ProjectsUsingTypeProvider.sln में प्रोजेक्ट्स इन विभिन्न मामलों के लिए कुछ नमूना पुस्तकालय दिखाएं।

आप this file विशेष रूप से भी देखना चाहते हैं। इस प्रकार

+0

उनका मतलब डिजाइन पैटर्न के रूप में प्रॉक्सी है। लेकिन मेरा मतलब है प्रॉक्सी एचटीएमएल वेब प्रॉक्सी – msmaximuss

+0

के रूप में नहीं, इसका मतलब प्रॉक्सी का मतलब है "http वेब प्रॉक्सी" में। उस फ़ाइल को देखें जिसे मैंने अभी अपने उत्तर में जोड़ा है। –

0

कोशिश एक डिफ़ॉल्ट वेब प्रॉक्सी निर्दिष्ट करने के लिए:

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 संशोधित करके इसे ठीक कर सकते हैं, बस configuration धारा के तहत निम्न पाठ जोड़ें:

<system.net> 
    <defaultProxy useDefaultCredentials="true" />  
    </system.net> 
संबंधित मुद्दे