asp.net - الاتصال إلى Visual Studio التصحيح ملقم IIS Express عبر الشبكة المحلية




asp.net-mvc visual-studio-2012 (7)

VisualStudio 2015 غير مسؤول

  1. في ملف الحل الخاص بك ، في الملف .vs\config\applicationHost.config بتغيير الخط

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

    إلى

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

    (حيث 44302 هو المنفذ الخاص بك)


  1. من موجه أوامر المشرف:

    أنا. تمكين غير المسؤول لربط المنفذ

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

    ثانيا. السماح من خلال جدار الحماية

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


  1. بدء التصحيح من VisualStudio

لدي اختبار تطبيق ASP.NET MVC3 المتقدمة في VS2012. عند بدء تصحيح الأخطاء يتم الوصول إلى التطبيق من الجهاز المضيف عبر الطلب إلى http://localhost:<portnumber> . ولكن إذا حاولت الوصول إلى نفس التطبيق من الجهاز البعيد في الإنترانت عبر http://<ip>:<portnumber> أحصل على HTTP error 400: Bad request. Invalid Host Name. HTTP error 400: Bad request. Invalid Host Name. بقدر ما يعمل على IIS Express أي تكوين الملقم غير قابلة للوصول.

هل هناك أي طرق لحل هذا؟


باستثناء تعديل ملف تهيئة iisexpress ، تحتاج في بعض الأحيان إلى تشغيل الأمر كما هو موضح أدناه.

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


بما أنني غير قادر على إضافة تعليق على مشاركةGarret Fogerlie ورداً على قضية المعلقين (@ Y.Ecarri وSamuelEdwinWard) ، اتبعت ما اقترحه Garret ، باستخدام Visual Studio 2013 ، تشغيله في وضع المسؤول وتغيير ملف application.config .

بعد إطلاق debug ورؤية أنني حصلت على نفس رسالة الخطأ ، عدت إلى application.config ورأيت أنه قد تم إنشاء مدخل جديد لموقعي مثل قضية Y.Ecarri.

لذلك توقفت عن تصحيح الأخطاء ، وأبقى الحل مفتوحًا في Visual Studio ، وقمت بتحرير الملف application.config مرة أخرى للدخول الجديد. أنا أيضا إزالة ببساطة * يغني و localhost تماما ، لذلك كان لي ما يلي للدخول الجديد:

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


شكرا على البايت:

انتقل إلى applicationhost.config في المستندات / IISExpress / config

ابحث عن مدخل الموقع المعين الذي تعمل فيه:

إضافة:

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

أمام القائمة

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

لتحقيق الحل دون الحاجة إلى إنشاء VS2013 إدخال موقع xml جديد لك عند إعادة التشغيل. سوف تحتاج إلى تشغيل كمسؤول.


كان لديه مشكلة تصحيح مشابه جدا في Visual Studio Code ، قمت بحلها بإضافة:

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

.. ل launch.json

على ما يبدو ، بشكل افتراضي يربط بروتوكول http بـ 'localhost: 5000' ، لذا فهو يعمل مع localhost ولكن ليس مع عنوان IP - لا عن بعد ولا محليًا.

إذا كنت تحاول الوصول إلى نقطة توقف من خلال طلب قادم من جهاز كمبيوتر مختلف ، فلا تنس التحقق من إعدادات جدار الحماية (و / أو الحماية من الفيروسات)

أتمنى أن يساعدك هذا


هذا ما نجحني:

  • ابدأ في إدارة IIS
  • إضافة دليل ظاهري جديد يشير إلى مجلد المشاريع ( C:\VSProjects في حالتي)
  • حدد الدليل الظاهري الجديد داخل إدارة IIS. حدد Directory Browsing من قائمة الخيارات. على الجانب الأيمن هناك زر Enable . انقر فوقه.

الآن يمكنني الوصول إلى المجلد الخاص بي mypcname\VSProjects\myProj\outputBinViewer المشروع على الشبكة من خلال mypcname\VSProjects\myProj\outputBinViewer .


كيفية تجنب تشغيل Visual Studio كمسؤول

باستخدام Garret's كل من Garret's و Garret's يمكنك تحقيق الاتصال بموقع الويب الحالي دون الحاجة إلى تشغيل Visual Studio كمستخدم مسؤول:

  1. افتح %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config
  2. ابحث عن موقعك باستخدام name=MySiteName
  3. تكرار عنصر <binding> في القسم <bindings> . يجب أن يكون لديك الآن سطرين مع binding .
  4. قم بإزالة الجزء "localhost" في bindingInformation.
  5. يجب أن تبدو الآن هكذا ، بافتراض أن المنفذ هو 12345 :

    <binding protocol="http" bindingInformation="*:12345:localhost" />
    <binding protocol="http" bindingInformation="*:12345:" />
    
  6. إزالة أي قيود جدار الحماية عن طريق تشغيل CMD التالية كمسؤول:

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




iis-express