2014-04-07 5 views
6

आईआईएस-मैनेजर में, डिफ़ॉल्ट वेबसाइट पोर्ट 80 पर बंधी हुई है। मैं सी # का उपयोग कर वेबसाइट नाम से बंदरगाह कैसे प्राप्त कर सकता हूं? एक invalid index अपवाद के साथ अशक्त मेंमैं आईआईएस से सी # के माध्यम से वेबसाइटों के नाम से बंदरगाह कैसे प्राप्त कर सकता हूं?

var lWebsite = "Default Web Site"; 
var lServerManager = new ServerManager(); 
var lPort = lServerManager.Sites[lWebsite].Bindings.GetAttributeValue("Port"); 

lPort परिणाम: मैं निम्नलिखित कोड की कोशिश की। लेकिन असाइनमेंट var lPort = lServerManager.Sites[lWebsite] काम करता है।

+0

कृपया नीचे दिए गए लिंक को देखें। Http://stackoverflow.com/questions/11616606/set-website-port-with-servermanager-class –

+0

msdn फ़ोरम में एक और लिंक। http://social.msdn.microsoft.com/Forums/vstudio/en-US/4d340847-25aa-47ee-aa43-b52c0565bfad/to-read-the-iis-default-website-port-number-c?forum= netfxbcl –

+0

@ जयेश गोयानी: बाइंडिंग नोड। एट्रिब्यूट ("पोर्ट")। वैल्यू भी काम नहीं करता है। – Simon

उत्तर

10

जब आप साइट्स [lWebsite] तक पहुंचते हैं। बाइंडिंग्स, आप बाइंडिंग के संग्रह तक पहुंच रहे हैं। जब आप GetAttributeValue ("पोर्ट") को कॉल करने का प्रयास करते हैं, तो यह विफल हो जाता है क्योंकि इससे कोई अर्थ नहीं होता है - संग्रह में स्वयं के साथ कोई पोर्ट नंबर नहीं है, यह केवल एक संग्रह है।

आप बंदरगाह प्रत्येक बाध्यकारी द्वारा इस्तेमाल किया संख्या के लिए उपयोग करना चाहते हैं, तो आप उन बंधनों के माध्यम से लूप करने की जरूरत है और उसके संबंधित पोर्ट संख्या के लिए हर एक से पूछते हैं:

var site = lServerManager.Sites[lWebsite]; 
foreach (var binding in site.Bindings) 
{ 
    int port = binding.EndPoint.Port; 
    // Now you have this binding's port, and can do whatever you want with it. 
} 

यह तथ्य यह है कि प्रकाश डाला लायक है वेबसाइटों कई बंदरगाहों के लिए बाध्य किया जा सकता है। आप "बंदरगाह" प्राप्त करने के बारे में बात करते हैं, लेकिन यह आवश्यक नहीं है - उदाहरण के लिए, एक वेबसाइट जो HTTP और HTTPS दोनों पर दी जाती है, में दो बाइंडिंग होंगी, आमतौर पर पोर्ट 80 और 443 पर। इसलिए आपको बाइंडिंग के संग्रह, भले ही आपके मामले में संग्रह में केवल एक बाध्यकारी हो, यह अभी भी एक संग्रह है।

अधिक जानकारी के लिए, the Binding class के लिए एमएसडीएन दस्तावेज़ देखें। ध्यान दें कि इसमें से कुछ में रुचि रखने की संभावना है जिसमें उपरोक्त नमूने में बाध्यकारी की एंडपॉइंट संपत्ति तक पहुंच शामिल है।

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

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