WCF ServiceHost पहुंच अधिकार


166

WCF ट्यूटोरियल के माध्यम से जाने पर मुझे निम्न त्रुटि मिलती है।

HTTP URL http: // +: 8000 / ServiceModelSamples / Service / पंजीकृत नहीं कर सका । आपकी प्रक्रिया में इस नामस्थान पर अधिकार नहीं है ( विवरण के लिए http://go.microsoft.com/fwlink/?LinkId=70353 देखें)।

क्या यह कुछ विंडोज 7 पर प्रतिबंध के कारण है?


आप इस ब्लॉग पर बहुत सारी उपयोगी जानकारी पा सकते हैं । अरे एक अच्छा GUI टूल भी प्रदान करता है।
बॉब

जवाबों:


179

मुद्दा यह है कि URL को विंडोज द्वारा बनाए जाने से ब्लॉक किया जा रहा है।

ठीक करने के लिए चरण: एक व्यवस्थापक के रूप में कमांड प्रॉम्प्ट चलाएँ। URL को ACL में जोड़ें

netsh http add urlacl url=http://+:8000/ServiceModelSamples/Service user=mylocaluser

4
खुशी है कि आपने तय किया "+" का क्या अर्थ था?
जॉन सॉन्डर्स

मेरे पास एक कूबड़ है कि इसका मतलब एक सामान्य स्थानीय आईपी है।
जोशुआ

12
नोट: आपको बहुत अधिक url = http: // +: port / path बिल्कुल दर्ज करना होगा। url = पता: पोर्ट / पथ मेरे लिए काम नहीं करता था, जैसा कि आप सोचते होंगे कि यह हो सकता है। यह भी ध्यान दें कि आपको अपने उपयोगकर्ता के रूप में नेटवर्क सर्वर का उपयोग करना होगा ("NT AUTHORITY \ NETWORK SERVICE", यदि आपकी सेवा का इंस्टॉलर इसके लिए सेट है।
माइक पैटरस

8
किसी भी तरह से प्रशासक की आवश्यकता के बिना यो ऐसा करते हैं?
सेटज़मोरा

1
उपयोगकर्ता के लिए मेरे खाते का उपयोग करने से काम नहीं चला। उपयोगकर्ता के साथ काम किया = हर कोई
किम

90

यदि आप आईडीई के माध्यम से चल रहे हैं, तो व्यवस्थापक के रूप में चलना चाहिए। दृश्य स्टूडियो 2008/10 एप्लिकेशन आइकन का पता लगाने के लिए, इसे राइट क्लिक करें और "व्यवस्थापक के रूप में चलाएं" चुनें


22
वास्तव में 'ज्यादा बेहतर' समाधान नहीं है @Liam - कॉर्पोरेट सेटअप में देव माहौल में व्यवस्थापक विशेषाधिकार आपको खतरनाक चीजें करने के लिए कई और अनुमति दे सकते हैं। एक बहुत आसान समाधान, यकीन है, लेकिन शक्ति के साथ जिम्मेदारी आती है ...
अनसाल्टेड

2
मूल समाधान को भी प्रशासक के रूप में निष्पादन की आवश्यकता होती है - समय की एक छोटी अवधि के लिए दी जाती है, और निश्चित रूप से आपको यह जानना आवश्यक है कि आप एक सुरक्षा संदर्भ से क्या कर रहे हैं।
स्टीफन न्यूमैन

1
तो, वैसे भी यह करने के लिए व्यवस्थापक विशेषाधिकार के बिना?
सेटजमोरा

उत्तम। मैं IDE से एक प्रोग्राम चला रहा था जो किसी अन्य मशीन पर URL रजिस्टर करने के लिए आवश्यक था और व्यवस्थापक के रूप में पूरी तरह से काम कर रहा था।
thePartyTurtle

36

एक अन्य उपाय पते का उपयोग करना है

http: // localhost: 8732 / Design_Time_Addresses / Your_ADDRESS

.NET फ्रेमवर्क (3.5) स्वचालित रूप से डिबगिंग स्कोप के लिए इस पते (http: // *: 8732 / Design_Time_Addresses) को पंजीकृत करता है। यह उपयोगी है जब आपको डिबगिंग या परीक्षण के लिए दृश्य स्टूडियो के अंदर सेवाओं की मेजबानी करने की आवश्यकता होती है। उत्पादन पर इस का उपयोग न करें ...


1
कुछ साइटें 8732 के बजाय 8731 पोर्ट को संदर्भित करती हैं।
नेनाड डोबरिलोविक

1
@DaviFianoghi .net 3.5 स्थापित होने तक यह काम करना चाहिए। लेकिन मैंने कभी कोशिश नहीं की। आमतौर पर मैं इस परीक्षण को एक एकीकरण परीक्षण मानता हूं, इसलिए मैं इसे टीएफएस पर नहीं चलाता, मैं केवल टीएफएस पर इकाई परीक्षण चलाता हूं।
डेविड इकार्डी

@NenadDobrilovic माइन 8733 :) का उपयोग करता है। लेकिन यह महत्वपूर्ण नहीं है।
हूच

1
हमारा सर्वर लोकलहोस्ट का उपयोग कर रहा है : 8733 / Design_Time_Addresses और मैंने आपके उत्तर के बिना इसे देखने के लिए कभी नहीं जाना, धन्यवाद। इसके अलावा, बॉब के उपकरण ने उन सभी पतों को दिखाया, जिनकी अनुमति थी - कि मैंने इसे 8733 में कैसे खोजा था। धन्यवाद
ली हेड्स

30

व्यवस्थापक के रूप में कमांड प्रॉम्प्ट खोलें और आप अपना URL जोड़ने के लिए कमांड के नीचे लिखें:

netsh http add urlacl url=http://+:8000/YourServiceLibrary/YourService user=Everyone

कुछ बिंदुओं को ध्यान में रखना:

  1. अपने कोडिंग के अनुसार पोर्ट बदलें
  2. अपने पुस्तकालय के नाम के अनुसार सेवा पुस्तकालय का नाम बदलें
  3. "YourService" वैकल्पिक है

अधिक जानकारी के लिए आप देख सकते हैं: HTTP और HTTPS को कॉन्फ़िगर करना


3

एक प्रशासक के रूप में विजुअल स्टूडियो खोलें .. यह चलेगा।


मुझे ननित-गुई के साथ भी यही समस्या थी। व्यवस्थापक के रूप में भाग गया, सब अच्छा है।
वलमास

मेरे पास 2013 की समान समस्या है और व्यवस्थापक के रूप में काम नहीं कर रहा है
ZoomVirus

मुझे मानक व्यवस्थापक के रूप में चलाने की आवश्यकता क्यों नहीं है?
जॉन

0

अन्य विकल्प है कि काम है ..,

यदि आप एप्लिकेशन पूल में डी इंडेंटिटी बदलते हैं, तो आप कोड को चला सकते हैं, यह विचार अधिक विशेषाधिकारों के साथ एक खाते के लिए एप्लायंस पूल निष्पादन खाता बदल सकता है,

अधिक जानकारी के लिए इस ब्लॉग का उपयोग करें

https://letrasandnumeros.com/2017/11/27/http-could-not-register-url-http-80-hellowcf-your-process-does-not-have-access-rights-to-this-namespace/


-2

मैं विंडोज विस्टा पर काम कर रहा हूं। यहां तक ​​कि मुझे भी इसी समस्या का सामना करना पड़ा, लेकिन जब मैंने प्रशासनिक विशेषाधिकार के साथ VS 2008 चलाने की कोशिश की, तो समस्या हल हो गई और मेरी सेवा चल रही थी। :)


-2

व्यवस्थापक के रूप में दृश्य स्टूडियो चलाना समस्या को ठीक कर सकता है, लेकिन यदि आप उदाहरण के लिए TortoiseSVN के साथ Visual Studio का उपयोग करते हैं, तो आप कोई परिवर्तन नहीं कर सकते। एक अन्य संभावित समाधान स्थानीय उपयोगकर्ता के रूप में सेवा को प्रशासक और बाकी विजुअल स्टूडियो के रूप में चलाना होगा।


-3

कृपया व्यवस्थापन मोड में अपना विज़ुअल स्टूडियो खोलें, फिर प्रयास करें।


-3

कृपया अपने विजुअल स्टूडियो को व्यवस्थापक के रूप में खोलें:

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

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