ল্যানের উপরে ভিজ্যুয়াল স্টুডিও ডিবাগিং আইআইএস এক্সপ্রেস সার্ভারের সাথে সংযুক্ত


84

আমার কাছে ভিএস ২০১২-তে উন্নত একটি এএসপি.নেট এমভিসি 3 অ্যাপ্লিকেশন রয়েছে। আমি যখন ডিবাগ করা শুরু করি তখন অনুরোধের মাধ্যমে হোস্ট মেশিন থেকে অ্যাপটি অ্যাক্সেস করা হয় http://localhost:<portnumber>। কিন্তু আমি যদি মাধ্যমে ইন্ট্রানেট দূরবর্তী মেশিন থেকে একই অ্যাপ্লিকেশন অ্যাক্সেস করার চেষ্টা http://<ip>:<portnumber>আমি পেতে HTTP error 400: Bad request. Invalid Host Name.যতদুর যেমন আইআইএস এক্সপ্রেস উপর সঞ্চালিত হয় কোনো সার্ভার কনফিগারেশন অ্যাক্সেসযোগ্য নয়।

এটি সমাধান করার কোনও উপায় আছে কি?


আমাদের ফ্রি এক্সটেনশন, কনভেয়রকে এই মার্কেটপ্লেসটি করতে ব্যবহার করুন isভিজুয়ালস্টুডিও.com/… এটি কোনও কনফিগার পরিবর্তন ছাড়াই কাজ করে, ব্যথাহীন।
জিম ডব্লিউ মনিকা

উত্তর:


138

হালনাগাদ

আমি একটি ভিডিও তৈরি করেছি যা প্রক্রিয়াটি আরও ভালভাবে বর্ণনা করে, https://youtu.be/5ZqDuvTqQVs

আপনি যদি ভিজুয়াল স্টুডিও 2013 বা ততোধিক ব্যবহার করে থাকেন তবে নিশ্চিত হয়ে নিন যে এটি কাজ করার জন্য আপনি প্রশাসক হিসাবে এটি চালাচ্ছেন।


%USERPROFILE%\My Documents\IISExpress\config\applicationhost.config(VS2015 এ এটি হতে পারে $(solutionDir)\.vs\config\applicationhost.config) ফাইলটি খুলুন । ভিতরে আপনার এইরকম কিছু দেখতে পাওয়া উচিত:

<site name="WebSite1" id="1" serverAutoStart="true">
    <application path="/">
        <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:8080:localhost" />
    </bindings>
</site>

পরিবর্তন bindingInformation=":8080:localhost"করার জন্য bindingInformation="*:8080:*"(আমার ক্ষেত্রে পোর্ট নম্বর, 8080, আবার বিভিন্ন হবে।)

দ্রষ্টব্য: এটি কাজ না করে যদি bindingInformation="*:8080:অস্ট্রিক্স দিয়ে চেষ্টা করে তবে তা মুছে ফেলা যায়।

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

যদি এটি কাজ না করে তবে এই উত্তরটি একবার দেখুন: https://stackoverflow.com/a/5186680/985284


30
এই সমাধানটি আমার পক্ষে কার্যকর হয়নি। ভিএস ২০১৩-তে, বাইন্ডিং ইনফর্মেশন বৈশিষ্ট্যটি সংশোধন করার পরে, আমি আইডিইটি খুলি এবং প্রকল্পটি লোড করার সময় এটি একটি নতুন এন্ট্রি তৈরি করে (যেমন <site name="Website1(1)" id="2" serverAutoStart="true">এবং আমি এখনও অন্য
সংস্থাপক

4
এটি ভিএস ২০১৩ সালে আমার জন্য কাজ করেছে: gilesey.wordpress.com/2013/04/21/…
জে কামিনস

10
আমার জন্য কাজ করেছেন main মূল টুইটটি অ্যাডমিন হিসাবে ভিজ্যুয়াল স্টুডিও চালানো ছিল।
তন্ময় মণ্ডল

20
আমি জানি না যে আমি কেন এই সমস্যাটি নিয়ে bindingInformation="*:8080:*"একাই রয়েছি , কিন্তু আমার পক্ষে কাজ করে নি এবং @ Y.Ecri যে সমস্যাটি ভুগছিল তার ফলস্বরূপ। কি পরিশেষে শেষ পর্যন্ত কাজ আস্টেরিক্স ড্রপ করা হয়েছিল: bindingInformation=":8080:"। ছেলেটি আমাকে এই পাগল করে তোলে, আমি আশা করি এটি কাউকে সাহায্য করবে।
ড্রাজেন বিজেলভুক

4
ড্র্যাজেনের মতোই, অ্যাডমিন মোড ব্যবহার করতে হয়েছিল + bindingInformation=":8080:"(* ছাড়া)
ম্যাথিউ চার্বননিয়ার

43

ভিজুয়ালস্টুডিও 2015 নন-অ্যাডমিন

  1. আপনার সমাধান দির, ফাইলটিতে .vs\config\applicationHost.configলাইনটি পরিবর্তন করুন

    <binding protocol="http" bindingInformation="*:44302:localhost" />

    প্রতি

    <binding protocol="http" bindingInformation=":44302:" />

    (যেখানে 44302 আপনার বন্দর)


  1. প্রশাসক কমান্ড প্রম্পট থেকে:

    i। বন্দরে আবদ্ধ করতে প্রশাসককে সক্ষম করুন

    netsh http add urlacl url=http://*:44302/ user=Everyone

    ii। ফায়ারওয়ালের মাধ্যমে অনুমতি দিন

    netsh advfirewall firewall add rule name="IISExpress visualstudio app" protocol=tcp localport=44302 dir=in action=allow


  1. ভিজ্যুয়ালস্টুডিও থেকে ডিবাগিং শুরু করুন

নোট করুন .vs ফোল্ডারটি উইন্ডোজ 10 এ লুকানো আছে এটি দেখতে লুকানো ফাইলগুলি দেখান।
ভাটিয়া-পেরের

উহু! আপনি আমার নায়ক! শেষ পর্যন্ত! কীটি ছিল .vs ফোল্ডারের কনফিগারেশন। আপনাকে যথেষ্ট ধন্যবাদ দিতে পারি না!
20-28

নীচে @ অরুনপ্রসাদেস মেনটিওড হিসাবে দ্রষ্টব্য, আপনি কোনও ত্রুটিতে চলে গেলে প্রশাসক হিসাবে ভিএস চালান।
এলমার

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

@ গ্রেগম্যাক আমার খারাপ মন্তব্যের জন্য দুঃখিত, আমি বলছিলাম যে আমি যদি বাইন্ডিং বিকল্পগুলি কংগ্রেটেড করেছিলাম এবং অ্যাডমিন হিসাবে ভিএস না চালাই, তবে কিছু প্রক্রিয়া ত্রুটি আইডি, যা আমি ধরে নিই যে আমার কাছে একটি নতুন উইন্ডোজ রয়েছে তাই উইন্ডোজ 10 এর অনুমতিগুলির সাথে সম্পর্কিত ass নতুন ভিএস 2019 ইনস্টলেশন সহ 10 টি ইনস্টলেশন। বাকি হিসাবে আমি আপনার সাথে 100% একমত
এলমার

21

আইসপ্রেস কনফিগারেশন ফাইলটি সংশোধন করা বাদ দিয়ে মাঝে মাঝে আপনাকে নীচের মতো কমান্ডও চালাতে হবে।

netsh http যোগ urlacl url = http: // *: 49419 / ব্যবহারকারীর = সবাই


49419 বন্দরটি কী ব্যবহার করে? এটি কি কেবল উদাহরণ বন্দর, এটিও 8080 হতে পারে?
অলিগোফ্রেন

আমার নিজের প্রশ্নের উত্তরে: হ্যাঁ, এটি হ'ল বন্দরটি অ্যাপটি চলছে। আপনি যদি এই উত্তরটি ব্যবহার করেন, তবে আপনাকে আর প্রশাসক হিসাবে ভিজুয়াল স্টুডিও চালানোর দরকার নেই, ,.
অলিগোফ্রেন

4
আপনি কী দয়া করে সংক্ষিপ্ত বিবরণ প্রদান করতে পারেন?
শিশির গুপ্ত

12

কীভাবে প্রশাসক হিসাবে ভিজ্যুয়াল স্টুডিও চালানো এড়ানো যায়

গ্যারেট এবং @ শ্যাঙ্ককিউনের উত্তর উভয়ই ব্যবহার করে আপনি প্রশাসক ব্যবহারকারী হিসাবে ভিজ্যুয়াল স্টুডিও চালানোর প্রয়োজন ছাড়াই চলমান ওয়েবসাইটের সাথে সংযোগ অর্জন করতে পারবেন:

  1. খোলা %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config
  2. আপনার সাইট ব্যবহার করে অনুসন্ধান করুন name=MySiteName
  3. বিভাগে বিদ্যমান <binding>আইটেমটির সদৃশ করুন <bindings>। আপনার এখন দুটি লাইন থাকা উচিত binding
  4. বাইন্ডিং ইনফরমেশনটিতে "লোকালহোস্ট" অংশটি সরান।
  5. এখন এটির মতো দেখতে হবে, ধরে নেওয়া বন্দরটি 12345:

    <binding protocol="http" bindingInformation="*:12345:localhost" />
    <binding protocol="http" bindingInformation="*:12345:" />
    
  6. বন্দরে আবদ্ধ করতে প্রশাসককে সক্ষম করুন

    netsh http add urlacl url=http://*:12345/ user=Everyone
    

সম্পাদনা 2019: গ্রেগম্যাক ভিএস উদাহরণটিকে শ্বেত তালিকাতে এক পদক্ষেপ যুক্ত করেছে। আমার কখনই এটির প্রয়োজন ছিল না, তবে যাইহোক এটি তালিকাবদ্ধ করুন:

  1. netsh advfirewall firewall add rule name="IISExpress visualstudio app" protocol=tcp localport=12345 dir=in action=allow


@ তোফুটিম এখানে একই। আপনি কি সমাধান খুঁজে পেয়েছেন?
হিমশীতল মেঘ

আপনি কি পরে ভিজ্যুয়াল স্টুডিও পুনরায় চালু করলেন?
ওলিগোফ্রেন

হাই, আমি কেবল লক্ষ করেছি যে পূর্ববর্তী লাইনের সাথে মিলিত হয়ে নেট নেট কমান্ডটি ভুল ছিল। আমি উপরের বন্দর হিসাবে 12345 ব্যবহার করেছি, কিন্তু নেট কমান্ডের উদাহরণ পোর্ট হিসাবে 49419 ব্যবহার করেছি। এটি আমার আপডেটে স্থির করা হয়েছে।
অলিগোফ্রেন

10

যেহেতু আমি @ গ্রেট ফোগলির পোস্টে এবং মন্তব্যকারীদের ইস্যুটির প্রতিক্রিয়াতে (@ ওয়াই.একারারি এবং @ সামুয়েলএডউইন ওয়ার্ড) যোগ করতে পারছি না, তাই গ্যারেটের পরামর্শ অনুসারে আমি ভিজ্যুয়াল স্টুডিও 2013 ব্যবহার করে এটি অ্যাডমিন মোডে চালিয়ে এবং পরিবর্তনটি করেছি application.configফাইল।

ডিবাগ আরম্ভ করার পরে এবং আমি একই ত্রুটি বার্তা পেয়েছি দেখে, আমি আবার ফিরে গিয়ে application.configদেখলাম যে ওয়াই.একারির ইস্যুর মতোই আমার সাইটের জন্য একটি নতুন এন্ট্রি তৈরি করা হয়েছে।

তাই আমি ডিবাগিং বন্ধ করে দিয়েছি, আমার সমাধানটি ভিজ্যুয়াল স্টুডিওতে উন্মুক্ত রেখেছি এবং application.configনতুন এন্ট্রির জন্য ফাইলটি আবার সম্পাদনা করেছি । আমি কেবল *গানগুলি এবং localhostপুরোপুরি সরিয়েছি , তাই আমার নতুন প্রবেশের জন্য নিম্নলিখিতগুলি ছিল:

<binding protocol="https" bindingInformation=":44300:" />


এটিই একমাত্র সমাধান যা সাহায্য করেছিল! ধন্যবাদ
কোড 5

2

আপনার মধ্যে কিছু আপনার% USERPROFILE% ডিরেক্টরি ব্যবহার করে সংশোধন ও পরীক্ষায় অনেক সময় ব্যয় করতে পারে। আপনি যদি ভিএস ডিবাগ চালিয়ে যাচ্ছেন তবে $ (সলিউশনডির) .vs \ config \ applicationhost.config ব্যবহার করুন


1

বাইটাইটকে ধন্যবাদ:

ডকুমেন্টস / আইআইএসইএক্সপ্রেস / কনফিগারেশনে অ্যাপ্লিকেশনহোস্ট.কনফিগ এ যান

আপনি যে নির্দিষ্ট সাইটে কাজ করছেন তার জন্য প্রবেশিকাটি সন্ধান করুন:

যুক্ত করুন:

<binding protocol="http" bindingInformation="*:<your site port>:*" />

বিদ্যমান সামনে

 <binding protocol="http" bindingInformation="*:<your site port>:localhost" />

ভিএস ২০১৩ না করে সমাধান অর্জনের জন্য আপনি পুনরায় চালু করার সময় আপনার জন্য একটি নতুন ওয়েবসাইট এক্সএমএল এন্ট্রি তৈরি করুন। আপনাকে প্রশাসক হিসাবে চালানো দরকার।



0

এটিই আমার পক্ষে কাজ করেছে:

  • আইআইএস ম্যানেজার শুরু করুন
  • একটি নতুন ভার্চুয়াল ডিরেক্টরি যুক্ত করুন যা প্রকল্পগুলির ফোল্ডারে দেখায় ( C:\VSProjectsআমার ক্ষেত্রে)
  • আইআইএস ম্যানেজারের মধ্যে নতুন ভার্চুয়াল ডিরেক্টরি নির্বাচন করুন। Directory Browsingবিকল্পগুলির তালিকা থেকে নির্বাচন করুন। ডানদিকে একটি Enableবোতাম আছে। এটি ক্লিক করুন.

এখন আমি নেটওয়ার্কের মাধ্যমে আমার ফোল্ডার এবং প্রজেক্ট বিনটি অ্যাক্সেস করতে পারি mypcname\VSProjects\myProj\outputBinViewer


0

ভিজ্যুয়াল স্টুডিও কোডে খুব একই ধরণের সমস্যাটি ডিবাগ হওয়ার পরে আমি এটি যুক্ত করে সমাধান করেছি:

"env": {
      // ...
      "ASPNETCORE_URLS": "http://*:5000" // change to the port you are using
      // ...
},

.. টু লঞ্চ.জসন

স্পষ্টতই, ডিফল্টরূপে এটি HTTP প্রোটোকলটিকে 'লোকালহোস্ট: 5000' এ সংযুক্ত করে, তাই এটি লোকালহোস্টের সাথে কাজ করে তবে আইপি ঠিকানার সাথে নয় - দূরবর্তী অবস্থান থেকে বা স্থানীয়ভাবে নয়।

আপনি যদি অন্য কোনও কম্পিউটার থেকে আসা কোনও অনুরোধের মাধ্যমে ব্রেক ব্রেকপয়েন্টে আঘাত হানার চেষ্টা করছেন তবে আপনার ফায়ারওয়াল সেটিংস (এবং / অথবা অ্যান্টিভাইরাস) পরীক্ষা করতে ভুলবেন না

আশাকরি এটা সাহায্য করবে

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