এইচটিটিপি ইউআরএল http: // +: 8000 / হ্যালোডাব্লুসিএফ / নিবন্ধিত করতে পারেনি। আপনার প্রক্রিয়াটির এই নাম স্থানটিতে অ্যাক্সেসের অধিকার নেই


179

আমি ডাব্লুসিএফের একটি শিক্ষানবিস, তবে আমার অভিজ্ঞতা উন্নত করার চেষ্টা করছি। এবং প্রথম পদক্ষেপে আমি সমস্যার মুখোমুখি হয়েছি। আমি সহজতম ডাব্লুসিএফ পরিষেবা তৈরি করেছি। কোডের তালিকা: (এক ফাইলের সমস্ত কোড)

using System;
using System.ServiceModel;

namespace EssentialWCF
{
    [ServiceContract]
    public interface IStockService
    {
        [OperationContract]
        double GetPrice(string ticker);
    }

    public class StockService : IStockService
    {
        public double GetPrice(string ticker)
        {
            return 94.85;
        }
    }

    class Service
    {
        static void Main(string[] args)
        {
            ServiceHost serviceHost = new ServiceHost(typeof(StockService),
                                                        new Uri("http://localhost:8000/HelloWCF"));

            serviceHost.AddServiceEndpoint(typeof(IStockService), new BasicHttpBinding());
            serviceHost.Open();

            Console.WriteLine("To continue press ENTER");

            serviceHost.Close();
        }
    }
}

কনসোলের মাধ্যমে সেই পরিষেবাটি আমাকে একটি নম্বর দেবে। তবে ডিবাগ আমাকে ব্যতিক্রমটি দেয়: (সংখ্যার পরিবর্তে :))

এইচটিটিপি ইউআরএল http: // +: 8000 / হ্যালোডাব্লুসিএফ / নিবন্ধিত করতে পারেনি । আপনার প্রক্রিয়াটির এই নেমস্পেসে অ্যাক্সেসের অধিকার নেই ( বিশদটির জন্য http://go.microsoft.com/fwlink/?LinkId=70353 দেখুন)।

আপনি কি কখনও একই পরিস্থিতিতে সম্মুখীন হয়েছে? আমি প্রতিটি পরামর্শ দেখে খুশি হব।


আমি বিভ্রান্ত এইচটিএমএল-পালানো পাঠ্যটি কি কোডের অংশ বলে মনে করা হচ্ছে?
অ্যামি

1
এখানে অন্যান্য বিকল্প [জন্য চেহারা stackoverflow.com/questions/885744/...
shankbond

উত্তর:


231

দুর্ভাগ্যক্রমে ব্যতিক্রম লিখিত অংশে, http://go.microsoft.com/fwlink/?LinkId=70353 ভাঙা। যাইহোক, এটি http://msdn.microsoft.com/en-us/library/ms733768.aspx বাড়ে যা অনুমতিগুলি কীভাবে সেট করবেন তা ব্যাখ্যা করে।

এটি আপনাকে নিম্নলিখিত কমান্ডটি ব্যবহার করতে মূলত অবহিত করে:

netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user

সহায়তাটি ব্যবহার করে বিশদে আরও সহায়তা পেতে পারেন netsh

উদাহরণ স্বরূপ: netsh http add ?

http addকমান্ড সাহায্য দেয় ।


3
এই পদ্ধতিটি একটি স্বয়ংক্রিয় পরীক্ষার সার্ভারে প্রয়োজনীয় অনুমতিগুলি সেট আপ করার জন্যও কার্যকর।
টেকনোবেবল

8
প্রশাসক কমান্ড প্রম্পট থেকে কমান্ডটি চালানো নিশ্চিত করুন।
mbonness

3
আপনি যদি কোনও ডোমেনে না COMPUTER_NAME\USER_NAMEথাকেন তবে উপরের কমান্ডটি ব্যবহার করুন ।
ডটনেট

আপনি netsh http add urlacl url=http://+:80/ user=DOMAIN\userযদি বন্দরের যেকোন নেমস্পেসগুলিতে অ্যাকাউন্ট অ্যাক্সেসের অধিকার দিতে চান তবে এটি চালাতে পারেন।
হামিদ হেডিয়েরিয়ান

এই ক্লায়েন্ট মেশিন বা একটি সার্ভার বা উভয় ডন করা উচিত? HTTP: // এ কী ব্যবহার করা উচিত? ক্লায়েন্টের আইপি বা সার্ভার? যথারীতি
সহায়তাটি

177

আমি ভিজ্যুয়াল স্টুডিও আইডিই বন্ধ করে দিয়ে ভিজ্যুয়াল স্টুডিও আইকনটিতে ডান ক্লিক করে এবং "অ্যাডমিনিস্ট্রেটর অ্যাড অ্যাডমিনিস্ট্রেটর" বলে আবার এটি খুললাম, তারপরে যখন আমি হোস্টটি চালিয়েছিলাম তখন এটি কাজ করেছিল !!!


17
প্রথমত, এটি খারাপ অনুশীলন যদিও ভিজ্যুয়াল স্টুডিওতে এখানে খুব কম পছন্দ রয়েছে। দ্বিতীয়ত, সমস্যাটি অন্যান্য পদক্ষেপে রয়েছে (যেমন মোতায়েন)। ব্রায়ানের উত্তর দেখুন বা ব্লগস.এমএসএনএন
স্টাফেন গৌরিচান

3
শুভ দুঃখ! ফ্রিগগিন এমএস, নিজের সাথে লড়াই করে এমন বিভিন্ন কার্যকারিতা তৈরি করে। 'সর্বনিম্ন সুবিধার্থে' এত কিছু।
ড্যান Carsharpster

1
সেরা অনুশীলন বা না, এটি এমএসে। এটি ডাব্লুসিএফ /। নেট কেন এত বিশেষ যে এর মধ্য দিয়ে ওঠার জন্য আরও একটি হুপ দরকার? আমি যদি জাভাতে কোনও উইন্ডোজ চলমান কোনও পরিষেবা লিখি, তবে এটি স্থানীয়ভাবে কাজ করে। যদি আমি এটি সর্বজনীন করতে চাই তবে আমি ফায়ারওয়াল, সুইচার, রাউটার ইত্যাদি সমন্বয় করি
কাই ওয়াং

1
-1। এটি করা সঠিক জিনিস নয়। আপনার কোনও সীমাবদ্ধ ব্যবহারকারীর স্পষ্ট অনুমতি দেওয়া উচিত এবং এটি ব্যবহার করা উচিত। নীচে ব্রায়ানের উত্তর আরও ভাল।
ড্যানিয়েল জেমস ব্রায়ার্স

2
-1। সমস্যা দেখা দিলে হার্ড ড্রাইভের পুনরায় ফর্ম্যাট করা এবং সমস্যাটি সমাধান হওয়ার কথা বলার মতোই। উত্তরটি যেমন উল্লেখ করা হয়েছিল, নেটস্ক চালানো
স্টান বাশতাভেনকো

19

ভিজ্যুয়াল স্টুডিওতে ডান ক্লিক করুন> প্রশাসক হিসাবে চালান> আপনার প্রকল্পটি খুলুন এবং পরিষেবাটি চালান। এটি একটি অধিকার সংক্রান্ত সমস্যা।


আমার জন্য কাজ করেছেন। ধন্যবাদ!
লসবার

14

আপনার অঞ্চলটিতে যদি আপনার মেশিন স্থানীয় অঞ্চল নেটওয়ার্কে থাকে তবে আপনার ব্যবহারকারীর জন্য কিছু প্রশাসকের অধিকার প্রয়োগ করুন অন্যথায় আপনার প্রশাসক হিসাবে আদর্শ শুরু করা উচিত ...


2
আমার ডাব্লুসিএফ উইন্ডোজ পরিষেবাটির জন্য আমার এটি করা দরকার। আমি একটি বিল্ড মেশিনে পরিষেবাটি চালানোর জন্য একটি নতুন ডোমেন অ্যাকাউন্ট ব্যবহার করছিলাম। আমার পরিষেবা শুরু হবে এবং তারপরে সেই ব্যতিক্রমটি ছুঁড়ে ফেলা হবে। একবার আমি এটিকে প্রশাসকের অধিকার দিলে, এটি পুরোপুরি কার্যকর হয়েছিল।
thehelix

এটি আমার জন্য এটি সমাধান করেছে। কেবলমাত্র পরিষেবাটিতে ডান ক্লিক করুন, এবং ট্যাবে "লগ অন" "স্থানীয় সিস্টেম অ্যাকাউন্ট" চয়ন করুন
আলেকজান্ডার ডার্ক

11

আপনার করা সহজ কাজটি হ'ল আপনার ভিজ্যুয়াল স্টুডিও পরিবেশটি বন্ধ করা এবং 'প্রশাসক হিসাবে চালান' ব্যবহার করে এটি আবার খুলুন। এটি এখন সফলভাবে চালানো উচিত।


18
অ্যাডমিন হিসাবে চালানো কেবল সমস্যা এড়ায়, এটি তাদের সমাধান করে না।
অধ্যাপক

6

উইন্ডোজ ভিস্তা এবং পরবর্তীতে এইচটিটিপি ডাব্লুসিএফ পরিষেবা স্টাফ আপনাকে উল্লিখিত ব্যতিক্রমগুলির কারণ হতে পারে কারণ একটি সীমাবদ্ধ অ্যাকাউন্টটির পক্ষে এটি সঠিক নয়। আপনি প্রশাসক হিসাবে চালানোর সময় এটি কাজ করার কারণ।

প্রতিটি বুদ্ধিমান বিকাশকারীকে প্রশাসক হিসাবে না থেকে একটি নিয়ন্ত্রিত অ্যাকাউন্ট অবশ্যই ব্যবহার করা উচিত, তবুও অনেক লোক ভুল পথে চলে যায় এবং ঠিক এই কারণেই সেখানে এতগুলি অ্যাপ্লিকেশন রয়েছে যাতে ডেম্যান্ড প্রশাসকের অনুমতি প্রয়োজন হয় না যখন তাদের সত্যিকার প্রয়োজন হয় না। অলস পথে কাজ করার ফলে অলস সমাধান ঘটে। আমি আশা করি আপনি এখনও একটি সীমাবদ্ধ অ্যাকাউন্টে কাজ করবেন (আমার অভিনন্দন)।

নেমস্পেসম্যানেজারটুল নামে একটি টুলস আছে (২০০৮ বা তার পর থেকে) যদি আমি সঠিকভাবে মনে করি তবে আপনি ডাব্লুসিএফের জন্য সংজ্ঞায়িত এই পরিষেবা ইউআরএলগুলিতে সীমাবদ্ধ ব্যবহারকারীর অনুমতি দেওয়ার কথা বলে। যদিও আমি এটি ব্যবহার করি নি ...


আপনি যে সরঞ্জামটির কথা ভাবছেন তার নাম Http নেমস্পেস ম্যানেজার। এটি এমএস দ্বারা অসমর্থিত তবে এটি এখানে উপলভ্য: ব্লগস.এমএসডিএন
গ্যারেথ

1

আপনার নমুনা কোডটি প্রদর্শিত হিসাবে কাজ করবে না কারণ আপনি লাইনের Console.ReadLine()আগে কোনওটি অন্তর্ভুক্ত করতে ভুলে গেছেন serviceHost.Close()। তার মানে হোস্টটি খোলা হয় এবং তারপরে তত্ক্ষণাত বন্ধ হয়ে যায়।

এটি বাদে, মনে হচ্ছে আপনার নিজের মেশিনে অনুমতি সমস্যা রয়েছে। আপনার মেশিনে প্রশাসক অ্যাকাউন্ট হিসাবে আপনি লগ ইন করেছেন তা নিশ্চিত করুন। আপনি যদি প্রশাসক হন তবে এমনও হতে পারে যে HTTP অনুরোধগুলি পরিচালনা করতে আপনার কাছে ওয়ার্ল্ড ওয়াইড ওয়েব প্রকাশনা পরিষেবা (ডাব্লু 3 এসভিসি) চলছে না running


আমি ইতিমধ্যে এই সমস্যাটি স্থির করেছি এবং এটি আমার সেন্টিমিডি অ্যাকাউন্টের কারণে নয় এবং (অবশ্যই) রিডলাইন () এর কারণে নয় - কারণটি পয়েন্টটি ব্যতিক্রম (সিএমডি ফলাফল নয়) এর কারণ।
valecoder


1

অন্য ব্যবহারকারীদের সমাধান অনুসরণ করে আমি একটি কম্পিউটারে এই সমস্যাটি সমাধান করতে সক্ষম হয়েছি, তখনও কমান্ডটি netshআমার একটি মেশিনে সমস্যাটি সমাধান করেনি এবং বর্তমান ব্যবহারকারীর প্রশাসকের অধিকার থাকা সত্ত্বেও আমি "এইচটিটিপি ইউআরএলটি নিবন্ধন করতে পারিনি .... আপনার প্রক্রিয়াটির এই নাম স্থানটিতে অ্যাক্সেসের অধিকার নেই "। সুতরাং আপনি যদি এখনও অন্য সমাধানগুলির সাথে এটির কাজ না করে তবে আমি আমার সমাধানটি ভাগ করছি।

আমার ওয়েবসাইটটির ফিজিকাল ডিরেক্টরিতে ব্যবহারকারীর লেখার অনুমতি দেওয়ার চেষ্টা করার পরেও এবং সফলতা না পেয়ে আমি অবশেষে আইআইএস সেটিংস পরিবর্তন করার চেষ্টা করেছি ।

নীচের চিত্রগুলি দেখায়, আমি স্পেসিফিক ব্যবহারকারী হিসাবে সংযোগ স্থাপনের জন্য আমার ওয়েবসাইটের দৈহিক পাথ শংসাপত্রগুলি কনফিগার করেছি, যা DOMAIN- ব্যবহারকারীর নাম এবং পাসওয়ার্ডের সাথে প্রশাসক অ্যাকাউন্ট ছিল এবং এটি ত্রুটিটি অদৃশ্য হওয়ার জন্য যথেষ্ট ছিল।

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন


-1

আইআইএস এক্সপ্রেস এবং সমস্ত ব্রাউজার বন্ধ করুন (যদি ব্রাউজারের কোনওটিতে ইউআরএল খোলা থাকে)। অ্যাডমিন মোডে ভিজ্যুয়াল স্টুডিও আইডিই খুলুন। এটি আমার সমস্যা সমাধান করেছে।


এটি সমস্যার সমাধান করেনি। প্রশাসক মোডে আইডিই ব্যবহার করা অন্য সমস্যা এবং সম্ভবত আরও গুরুতর।
Preza8
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.