2008-10-20 5 views
41

मुझे याद है जब एमएस कैसिनी विकसित कर रहा था - मुझे विश्वास है कि वे इसे वीएस 05/08 में घुमाएंगे, इसलिए मुझे लगता है कि यह एक कैसिनी वेब सर्वर प्रश्न है।रिमोट मशीन विजुअल स्टूडियो वेब सर्वर से कनेक्ट नहीं हो सकती

मैं विजुअल स्टूडियो 2008 के साथ विंडोज एक्सपी का उपयोग कर रहा हूं, और जब मैं कई ब्राउज़रों और एकाधिक ओएस के साथ एक वेब पेज/स्टाइल का परीक्षण करना चाहता हूं तो यह काफी असुविधाजनक लगता है। अभी मुझे अपने सर्वर पर कोड तैनात करना है, और यदि कोई अपडेट होने की आवश्यकता है, तो प्रक्रिया काफी समय तक निकलती है। चूंकि मैं एक्सपी/आईआईएस 5 का उपयोग कर रहा हूं, आईआईएस का उपयोग करने का विकल्प एक विकल्प नहीं है। XP पर आईआईएस के उपयोग के लिए एक परियोजना के लिए एक अतिरिक्त उपसर्ग की आवश्यकता होती है, जो सभी लिंक, सीएसएस इत्यादि को तोड़ती है। यह वास्तव में एक त्वरित विकास परियोजना भी थी, इसलिए रूट डीआईआर जैसी चीजें जिन्हें कॉन्फ़िगरेशन में खींचा जाना चाहिए, मैं बिल्कुल नहीं हूं इस प्रकार के समाधान के साथ बोर्ड लेकिन यह इस परियोजना में लागू नहीं किया गया था। यह वास्तव में स्केची भी लगता है कि एमएस दूरस्थ कनेक्शन की अनुमति देने के लिए कहीं भी एक साधारण ध्वज की अनुमति नहीं देगा - यह काफी सरल है (http://www.devx.com/dotnet/Article/11711) लेकिन मैं कैसिनी को फिर से संकलित नहीं करना चाहता हूं।

क्या कोई जानता है कि अन्य कंप्यूटरों द्वारा विजुअल स्टूडियो 2008 में एकीकृत विकास वेब सर्वर को कैसे अनुमति दी जाए? यह समय के भार को बचाएगा।

उत्तर

39

सिर्फ एक अच्छा समाधान पता लगा: 1) विकास मशीन पर Fiddler सेट करें 2) प्रॉक्सी 3 के रूप में Fiddler उपयोग करने के लिए) http://localhost.:[insert your dev port # here ब्राउज़]/रिमोट मशीन

+4

क्या आप विस्तृत कर सकते हैं? – erikkallen

+7

http://www.fiddler2.com/fiddler/help/reverseproxy.asp चरण 2 w/VSDS काम करने की पुष्टि की गई है। मेरे नियम का एक उदाहरण है: यदि (oSession.host.toLowerCase() == "192.168.1.138:8888") oSession.host = "localhost: 35810"; –

+3

यूआरएल एक अधिष्ठापन (मैं, जीयूआई संस्करण है जो बंद हो गया है, लेकिन कमांड लाइन संस्करण के बिना http://fiddler2.com/documentation/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy –

2

माइक्रोसॉफ्ट इसे उद्देश्य पर अनुमति नहीं देता है - वे नहीं चाहते हैं कि आप अपने आवेदन को कैसिनी के साथ तैनात कर दें। It's compiled right into its code

कहा जा रहा है कि, मैंने अक्सर सोचा है कि क्या वे "लोकलहोस्ट" के लिए यूआरएल की जांच करते हैं। शायद रिमोट मशीन की HOSTS फ़ाइल को संपादित करना और कैसीनी मशीन पर "लोकलहोस्ट" को पुनर्निर्देशित करना इसे चालित कर सकता है? एक शॉट ... खिड़कियों में आप होस्ट यहां पा सकते हैं वर्थ:

C:\Windows\system32\drivers\etc 

आप अपने वेब परियोजना सेटिंग में जाकर कर सकते हैं और यह बजाय एक मेजबान के रूप में स्थानीय आईआईएस का उपयोग किया है, और फिर यह ठीक काम करेंगे।

+0

हे जेडी - मैं उल्लेख करना भूल गया कि मैं 5 पर हूं क्योंकि मैं आईआईएस का उपयोग नहीं कर सकता क्योंकि इससे रूट निर्देशिका अलग हो जाती है, सभी लिंक तोड़ने और स्टाइलिंग – Mario

+0

मुझे वीएस के साथ किसी भी आईआईएस 5.1 संगतता के मुद्दों से अवगत नहीं था - आप निश्चित रूप से इसके बजाय समस्या निवारण नहीं कर सकते हैं? – TheSoftwareJedi

+0

होस्ट फ़ाइल को बदलना प्रतीत नहीं होता है – Eric

0

टूटी हुई लिंक, फ़ाइलों के पथ, आदि की अपनी समस्या को हल करने के लिए सापेक्ष लिंक का उपयोग करें।

इसके अलावा, एएसपी.नेट के सर्वर नियंत्रण में यूआरएल/पथ गुण/मूल्यों के भीतर टोकन "~ /" (उद्धरण के बिना) को स्वचालित रूप से आईआईएस के उपफोल्डर के वास्तविक पथ के साथ बदल दिया जाएगा जहां आपका आवेदन रहता है।

इस समाधान के लिए आपके द्वारा विकसित किए जा रहे वेब एप्लिकेशन की जड़ को एक आईआईएस एप्लीकेशन होना चाहिए (वेब ​​अनुभाग पर अपने वेब प्रोजेक्ट के गुण पृष्ठ देखें जहां आप आईआईएस एप्लिकेशन बनाने के लिए एक लिंक या बटन पा सकते हैं)।

आईआईएस वेब एप्लिकेशन रूट के लिए Google।

0

मैं अपने स्थानीय बॉक्स पर एकाधिक ब्राउज़रों के खिलाफ परीक्षण करता हूं। स्थानीय वेब सर्वर परवाह नहीं है कि आप इसे कनेक्ट करने के लिए ओपेरा/सफारी/फ़ायरफ़ॉक्स/आईई का उपयोग करते हैं या नहीं। आम तौर पर मैं डीबगर में प्रोजेक्ट को फायर करता हूं, जो आईई भी शुरू करता है, फिर आईई से यूआरएल को काट/पेस्ट करें जिसमें मैं जिस ब्राउजर का परीक्षण कर रहा हूं। आम तौर पर, बंदरगाह कैसिनी चुनता अक्सर बदलता नहीं है, इसलिए मेरे ब्राउजर इतिहास में यूआरएल पहले से ही है। एक बार वेब सर्वर चलने के बाद, आप डीबगर को भी रोक सकते हैं और वैकल्पिक ब्राउज़र में परीक्षण करना जारी रख सकते हैं।

अन्य मैकोज़ के लिए, मैं आम तौर पर आईआईएस 6 के साथ एक क्यूए सर्वर पर प्रकाशित करता हूं। मुझे बहुत कम मामले मिले हैं जहां आईई/फ़ायरफ़ॉक्स/आदि के साथ परीक्षण करने के बाद। WinXP पर, मैक पर समस्याएं थीं। मैं विशेष रूप से लिनक्स के रूपों का परीक्षण नहीं करता हूं।

+1

वह एक विकास बॉक्स में वर्चुअल पीसी जैसे वर्चुअल पीसी जैसे आईई लोड करने के बारे में बात कर रहा है, और उसके बाद VM के अंदर ब्राउज़र से होस्ट बॉक्स (आपका वास्तविक कंप्यूटर) पर लोकहोस्ट से कनेक्ट हो रहा है। डीबगिंग के दौरान अधिक सुविधाजनक जब आप डीबग के लिए अपने आईडीई के अंदर रहते हैं और आपको अधिक से अधिक तैनाती नहीं करनी पड़ती है। –

+0

@Chris - मेरा समाधान विभिन्न इंजनों का परीक्षण करने के लिए मेरे देव बॉक्स पर एकाधिक ब्राउज़रों के साथ प्रयास करने और परीक्षण करने का है। वीएम का सहारा लेने के बिना मुझे इसके साथ अच्छी सफलता मिली है। मूल रूप से सेट होने के बाद, मैं क्यूए (मैं इसे वैसे भी करता हूं) पर तैनात करता हूं और अन्य लोगों को अलग-अलग ब्राउज़र/ओएस संयोजनों से दूर करने देता हूं। मैं शायद उसमें खराब हो गया हूं, मुझे अक्सर पुराने ब्राउज़र के बारे में चिंता करने की ज़रूरत नहीं है क्योंकि मेरे ऐप्स आम तौर पर आंतरिक होते हैं और हम ब्राउज़र को अपग्रेड करने का एक बहुत अच्छा काम करते हैं।कई ब्राउज़र संस्करणों का परीक्षण करने के लिए मुश्किल हो सकती है और मैं देख सकता था कि विभिन्न संस्करणों के साथ स्थापित वीएम कहां उपयोगी हो सकते हैं। – tvanfosson

+1

हाँ, यह पोस्ट आपके लिए नहीं है। आप वैध रूप से वीएम के बिना आईई के बहु संस्करणों का परीक्षण नहीं कर सकते हैं, इसलिए कुंजी वीएम कनेक्शन सुविधाजनक बना रही है। साइड-बाय-साइड इंस्टॉलेशन क्लोन के तरीके हैं लेकिन इंजन काफी समान नहीं हैं, जो आपके उपयोगकर्ता देखेंगे बग छुपाएंगे। –

-2

के रूप में Fiddler का उपयोग पर रिमोट मशीन सेट करें रिवर्स प्रॉक्सी, विकास वेब सर्वर अनुरोध प्राप्त कर सकता है, लेकिन यह आंतरिक अनुरोध (127.0.0.1) बन जाता है, जो मेरे मामले में बेकार है।

मैं वहां पर डीबग करने के दूरस्थ अनुरोध को पकड़ने की कोशिश कर रहा हूं।

+0

ये विनिर्देश क्यों मायने रखते हैं? ऐसा लगता है कि आप आईपी को देखने के बजाय प्रति वातावरण को संभाल सकते हैं। –

-1

बाइंडिंग का प्रयास करें। स्थानीयहोस्ट के बजाय 127.0.0.1 तक, यह वास्तव में कुछ मामलों में संकल्प के साथ एक अंतर बनाता है। मेरी इच्छा है कि मुझे पता था कि सभी के साथ, मुझे कई घंटे बचाएंगे।

मैंने Privoxy भी इस्तेमाल किया है, जो तेजी से हो सकता है, लेकिन फिडलर बहुत आसान है और लूपबैक स्थापित करने की आवश्यकता नहीं है। Fiddler में 15,709 और इस:

फिर भी, मैं स्थानीय होस्ट पर सेटअप वी.एस. है अगर (oSession.host.toLowerCase() == "वेबसर्वर: 15,709") oSession.host = "स्थानीय होस्ट: 15,709";

तो मैं बस अपने वीएम में वेबसर्वर टाइप करता हूं: 1570 9 यह बहुत अच्छा काम करता है।

वी.एस. 2010 में वहाँ "आईआईएस एक्सप्रेस" के बदले वी.एस. विकास सर्वर है, जो दूरदराज के लिए अनुमति देता है का उपयोग करने के लिए एक विकल्प है:

+0

-1: इससे समस्या हल नहीं होती है। क्या आपने इसका परीक्षण किया? –

15

एक पुराने सवाल का जवाब देने के लिए क्षमा करें, लेकिन यह गूगल में इसका स्थान है इसलिए मैं अपने 2 सेंट जोड़ने का निर्णय लिया डिफ़ॉल्ट रूप से कनेक्शन।

अद्यतन: आईआईएस एक्सप्रेस का वर्तमान संस्करण डिफ़ॉल्ट रूप से बाहरी कनेक्शन की अनुमति नहीं देता है, HERE देखें कि आप रिमोट कनेक्शन कैसे सक्षम कर सकते हैं।

+0

विकल्प कहां है? – moonlightcheese

+0

प्रोजेक्ट सेटिंग्स में – Alex

+4

बस आईआईएस 7.5 स्थापित किया गया है, लेकिन यह बाहरी कनेक्शन को डिफ़ॉल्ट रूप से स्वीकार नहीं करता है। तो कम से कम मेरे लिए, यह काम नहीं करता है। – Akku

3

आप पोर्ट पोर्टवर्डिंग यूटिलिटी का उपयोग बंदरगाह पर सुनने के लिए कर सकते हैं, 5000 कहें, और उसके बाद विजुअल स्टूडियो के बंदरगाह पर उस ट्रैफिक को रिले करें।

इस समाधान में आलेख, Accessing the Visual Studio ASP.NET Development Server from iPhone में वर्णित है।

मैंने उपरोक्त आलेख के आधार पर एक ब्लॉग पोस्ट लिखा है जो इसे सारांशित करता है, Accessing Visual Studio Web Server remotely

enter image description here

+0

नाइस: आदेश, बाहरी उपयोग की अनुमति यहाँ जवाब को देखने के लिए। यह एसपीआई पोर्ट फॉरवर्ड का उपयोग कर मेरे लिए काम किया। –

-2

WebMatrix एक और विकल्प नहीं है।

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