HTTP त्रुटि 404.3 - विंडोज सर्वर 2008 (64 बिट) पर wcf सेवा ब्राउज़ करते समय "नहीं मिली"


89

मैं .Net फ्रेमवर्क 3.5 एसपी 1 पर आधारित एक एप्लिकेशन विकसित कर रहा हूं और विंडोज सर्वर 2008 (64 बिट) पर होस्ट किया गया है।

स्थानीय रूप से wcf सेवा (.svc) ब्राउज़ करते समय हर चीज़ ठीक है, लेकिन पूर्ण डोमेन URL के साथ ब्राउज़ करते समय, इसमें त्रुटि हुई।

स्थानीय पता इस तरह है: http: //localhost/MyService.svc

और डोमेन पता इस तरह है: http://MySite.ir/MyService.svc

वैसे पृष्ठ (.aspx) और अन्य फाइलें स्थानीयहोस्ट और डोमेन पते दोनों पर सही तरीके से काम करती हैं।

किसी भी विचार की सराहना की जाएगी

यहाँ विस्तृत त्रुटि है:


HTTP एरर 404.3 - नहीं मिला

आपके द्वारा अनुरोधित पृष्ठ एक्सटेंशन कॉन्फ़िगरेशन के कारण नहीं परोसा जा सकता है। यदि पृष्ठ स्क्रिप्ट है, तो एक हैंडलर जोड़ें। यदि फ़ाइल डाउनलोड की जानी चाहिए, तो MIME मैप जोड़ें। विस्तृत त्रुटि जानकारी

मॉड्यूल: StaticFileModule

अधिसूचना: ExecuteRequestHandler

हैंडलर: स्टैटिकफाइल

त्रुटि कोड: 0x80070032

अनुरोधित URL: http://MySite.ir:80/MyService.svc

भौतिक पथ: D: \ inetpub \ vhosts \ MySite.ir \ httpdocs \ MyService.s हाइड्रोजन

लोगन विधि: अनाम

लोगन यूजर बेनामी

जवाबों:


227

कृपया सुनिश्चित करें कि आपने WCF घटकों को यहाँ से सक्रिय किया है

या वैकल्पिक और आसान तरीका है, कंट्रोल पैनल पर जाएं -> विंडोज फीचर को चालू या बंद करें -> और सुनिश्चित करें कि आपने नीचे स्क्रीनशॉट में बताए गए सभी विकल्प टिक कर दिए हैं।

यहाँ छवि विवरण दर्ज करें

एक बार में सभी सुविधाओं को सक्रिय करने पर आपको प्रत्येक बॉक्स को सक्रिय करने और त्रुटियों को स्वीकार करने की आवश्यकता हो सकती है


37
.Net फ्रेमवर्क 4.5 उन्नत सेवाएँ -> WCF सेवाएँ जाँचें और -> HTTP एक्टिवेशन ने मेरे लिए यह किया!
डेवह

3
विंडोज सर्वर 2012 - बस HTTP सक्रियण और पोर्ट शेयरिंग की जाँच की आवश्यकता है।
dibs487

2
मैं इस प्रतिक्रिया को एक-एक करके बक्से को सक्रिय करने के लिए जोड़ूंगा। एक ही समय में सभी चेक विफल हो सकते हैं। यह 2012 Windows सर्वर में क्या होता है
harveyt

2
यह उत्तर शीर्ष पर होना चाहिए
markthewizard1234

3
यह सही जवाब है। इससे मेरे लिए समस्या हल हो गई और मुझे मैन्युअल रूप से IIS हैंडलर मैपिंग में कुछ भी जोड़ना नहीं पड़ा।
एंथनी

25

ठीक है, यहाँ जवाब है:

हैंडलर मैपिंग पर जाएं | हैंडलर मैनेजर जोड़ें -> और फिर नीचे दी गई जानकारी जोड़ें

अनुरोध पथ: * .svc

प्रकार: System.ServiceModel.Activation.HttpHandler, System.ServiceModel, संस्करण = 3.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = b77a5c561934e089

नाम: svc- एकीकृत


3
किसी को भी इसे अपने web.config फ़ाइल में जोड़ना चाहते हैं, यह मेरे लिए .NET 4.5 प्रोजेक्ट में काम करता है: <add name = "svc-Integrated" path = ".svc " verb = " " type = "System.ServiceModel।" सक्रियण ।ttpHandler, System.ServiceModel.Activation, संस्करण = 4.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = 31bf3856ad364e35 "/>
स्टीफन

6
मेरे लिए, @StefanMohr से Web.config तक लाइन जोड़ना काफी काम नहीं आया। हालांकि, मैं बदल गया path="*.svc"और verb="*"और यह बहुत अच्छा काम किया। इस प्रकार, मैंने जो काम किया था वह लाइन थी: <add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>(कॉन्फ़िगरेशन / सिस्टम पर जोड़ा गया ।webServer / हैंडलर)।
एरन बोयेट

11

किसी को भी विंडोज सर्वर 2012 को इस मुद्दे है, तो बिल चंद्रमा की जवाब यहाँ मेरे लिए इसे हल:

"विंडोज सर्वर 2012 के लिए ... सर्वर प्रबंधक से, भूमिकाएं और सुविधाएँ जोड़ें पर क्लिक करें, उपयुक्त सर्वर का चयन करें, फिर सुविधाओं का चयन करें। .NET फ्रेमवर्क 4.5 सुविधाओं के तहत, आप WCF सेवाएँ और उसके तहत देखेंगे। HTTP एक्टिवेशन ढूंढें। "


1
किसी भी मौजूदा वेब एप्लिकेशन में आपको विंडोज फीचर को जोड़ने के बाद भी करना होगा: - inetmgr शुरू करें - "हैंडलर मैपिंग" खोलें - चेक करें कि क्या एक्सटेंशन * के लिए svc-ISAPI मैपिंग मौजूद हैं। यदि नहीं, तो मूल वेबसाइट से उन्हें कॉपी करने के लिए "रिवर्ट टू पैरेंट" कार्रवाई का उपयोग करें। ध्यान दें कि यह मानता है कि कस्टम हैंडलर मैपिंग को एप्लिकेशन के लिए web.config में कॉन्फ़िगर किया गया है, जैसा कि आमतौर पर IIS7 + में होता है। यदि नहीं, तो आप "रिवर्ट टू पैरेंट" निष्पादित करते समय उन्हें खो देंगे।
बेरेंड एन्गेलब्रैच

8

मेरे लैपटॉप में विंडोज़ 10 है और डब्ल्यूसीएफ विकास के लिए विजुअल स्टूडियो 2015 का उपयोग कर रहा हूं। WCF दृश्य स्टूडियो में ठीक चल रहा है लेकिन जब IIS में होस्ट किया गया तो मुझे वही त्रुटि मिली।

मैंने IIS हैंडलर की जाँच की। svc एक्सटेंशन गायब था। इसलिए मैंने IIS में नए हैंडलर को जोड़ने का प्रयास किया जैसा कि पहले उत्तर में मोरी द्वारा सुझाया गया था। मुझे टाइप नहीं मिला "System.ServiceModel.Activation.HttpHandler"।

इसलिए मैंने "चालू विंडो ऑफ ऑन या ऑफ" को चालू किया और स्क्रीन शॉट में हाइलाइट की गई सुविधाओं को स्थापित किया।

इसने मेरे लिए काम किया।

यहाँ छवि विवरण दर्ज करें



0

मैं इसे उत्तर के लिए एक टिप्पणी के रूप में जोड़ना चाहता था, लेकिन इसके लिए पर्याप्त प्रतिनिधि नहीं था। मैंने विभिन्न झंडों के साथ ServiceModelReg और aspnet_regiis.exe चलाने की कोशिश की और HTTP सक्रियण सुविधा जोड़ी, लेकिन यह अभी भी काम नहीं किया। यहां तक ​​कि IIS में हैंडलर मैपिंग यूआई का उपयोग करने से काम नहीं चला क्योंकि यह System.ServiceModel.Activation.HttpHandler को नहीं खोज सका। आखिरकार जो काम किया गया वह हैंडलर मोरी उल्लेखों को मैन्युअल रूप से मेरी web.config फ़ाइल में जोड़ रहा था।

<system.webServer>
    <handlers>
      <add name="svc-Integrated" path="*.svc" verb="GET,HEAD,POST,DEBUG" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" modules="ManagedPipelineHandler" scriptProcessor="" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="integratedMode" responseBufferLimit="4194304" />

मेरा प्रॉजेक्ट चल रहा था .net 3.5 और IIS 7.5 विंडोज 7 पर और IIS 7.0 विन सर्वर 2008 R2 पर।


0

WCF HTTP सक्रियण को "विंडो चालू या बंद करें" विंडो ( यहां देखें ) से अनचेक करने का प्रयास करें और इसे फिर से इंस्टॉल करें

%windir%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\

और निष्पादित करें ServiceModelReg -i

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.