2015-05-28 6 views
15

गुम होने के कारण विफल रहता है मैं अपने मैक पर एएसपी.NET 5 (vNext) सीख रहा हूं। आखिरी दिन, मैं अपने एसक्यूएल एज़ूर डेटाबेस से कनेक्ट करने की कोशिश कर रहा हूं। उस प्रयास में, मैं निम्नलिखित कोड का उपयोग कर रहा हूं:एसक्यूएल एज़ूर डेटाबेस से कनेक्ट करना एसएसएल एन्क्रिप्शन

var serverName = "[protected]"; 
var dbName = "[protected]"; 
var userId = "[protected]"; 
var password = "[protected]"; 
var sql = "SELECT * FROM Customer"; 

using (var database = new SqlConnection("Server=tcp." + serverName + ".database.windows.net,1433;Database=" + dbName + ";User Id=" + userId + ";Password=" + password + ";Trusted_Connection=False;Encrypt=True;Max Pool Size=25")) 
{ 
    database.Open(); 
    return await database.QueryAsync<T>(sql);      
} 

जब यह कोड निष्पादित हो जाता है, तो एक अपवाद फेंक दिया जाता है। अपवाद विवरण इस प्रकार है:

प्रकार:
System.NotImplementedException

संदेश:
क्लाइंट और सर्वर के बीच भेजे गए डेटा के लिए SSL एन्क्रिप्शन लागू नहीं है।

अद्यतन मैं ढांचा इस समय मैक ओएस एक्स पर चलाने में है कि एन्क्रिप्शन isn't supported सीखा है। यही वजह है कि मैं ऐसा दिखाई देता करने के लिए अपने कनेक्शन स्ट्रिंग अद्यतन:

var connectionString = "Persist Security Info=False;Integrated Security=true;Initial Catalog=" + dbName + ";server=" + serverName + ";User Id=" + userId + ";Password=" + password; 

फिर भी, जब मैं ऊपर कनेक्शन स्ट्रिंग का उपयोग करें, मैं निम्नलिखित त्रुटि मिलती है।

प्रकार:
System.Data.SqlClient.SqlException

संदेश:
सर्वर मौजूद नहीं है या कनेक्शन से इनकार कर दिया।

मैंने पुष्टि की है कि मेरा आईपी पता Azure द्वारा अवरुद्ध नहीं है। मैंने Azure पोर्टल में लॉग इन करके और सिल्वरलाइट ऐप से SQL सर्वर डेटाबेस प्रबंधित करके ऐसा किया। फिर भी, मुझे अभी भी यकीन नहीं है कि मुझे यह त्रुटि क्यों मिल रही है।

यदि मैं इसे सही ढंग से समझ रहा हूं, तो मैक पर चल रहे एएसपी.NET 5 से इस समय SQL Azure डेटाबेस से कनेक्ट करने का कोई तरीका नहीं है। क्या यह सच है? यदि यह सच नहीं है, तो मैं गलत क्या कर रहा हूं?

+0

आप किस ढांचे का उपयोग कर रहे हैं? –

+0

@ पानागियोटिस कानावोस मैं एएसपी.नेट 5 (vNext) का उपयोग कर रहा हूं। मैं 'सिस्टम के माध्यम से कनेक्ट करने का प्रयास कर रहा हूं।Data.SqlClient.SqlConnection' जो "EntityFramework.SqlServer" में है: "7.0.0 - *" 'पैकेज। –

+0

मैं करीब हूँ। मैंने अधिक जानकारी के साथ प्रश्न अपडेट किया है। –

उत्तर

11

जैसा कि आप जानते हैं कि मैक पर vNext सार्वजनिक पूर्वावलोकन के अधीन है।
हम अभी भी एसक्यूएल कनेक्टिविटी प्रदान करने पर काम कर रहे हैं। एसएसएल एन्क्रिप्शन अभी तक मैक पर समर्थित नहीं है और Azure SQL DB को एक की आवश्यकता है। यह परियोजना पाइपलाइन में है और हमारे पास साझा करने के लिए कुछ होने के बाद हम आपको बताएंगे।
इस बीच यदि आपके कोई अन्य प्रश्न हैं तो कृपया मुझे बताएं।

बेस्ट,
मिलिए Bhagdev
कार्यक्रम प्रबंधक, माइक्रोसॉफ्ट

+1

क्या इसमें कोई अपडेट है? – joshmcode

+0

अभी तक कोई अपडेट? यह अभी भी समर्थित प्रतीत नहीं होता है - यह एक महत्वपूर्ण परिदृश्य है यदि आप किसी भी सर्वर को एज़ूर एसक्यूएल डीबी (जो कि कोर सर्वर परिदृश्य काफी अधिक है) को मार रहा है – Marchy

+0

एकीकृत सुरक्षा अभी तक .NET कोर पर उपलब्ध नहीं है। मुझे लगता है कि यही कारण है कि मूल पोस्ट विफल रहा। क्या आप यह देखने के लिए एसएसएल सक्षम के साथ एसक्यूएल प्रमाणीकरण का प्रयास कर सकते हैं? (सेट 'एन्क्रिप्ट = सच')। –

3

मुझे पता है कि यह वह जवाब नहीं है जिसे आप ढूंढ रहे हैं, लेकिन एसक्यूएल एज़ूर एसएसएल प्रति https://msdn.microsoft.com/en-us/library/azure/ff394108.aspx की आवश्यकता है।

मुझे पूरा यकीन है कि जब तक एसएसएल समर्थन ओएस एक्स (या तो मोनो या कोरसीएलआर के माध्यम से) में जोड़ा जाता है तब तक आप अटक जाते हैं।

4

निर्माण लक्ष्य के रूप में मोनो का उपयोग कर में स्विच करें। यह आपको इकाई ढांचे में एसएसएल तक पहुंच प्रदान करना चाहिए।

संबंधित मुद्दे