HTTP 404 পৃষ্ঠা আইআইএস 7.5 তে হোস্ট ওয়েব অপি তে পাওয়া যায় নি


96

আমার একটি ওয়েব এপি অ্যাপ্লিকেশন রয়েছে। এটি ভিসি ২০১০ ডিবাগিং ডেভ সার্ভার ব্যবহার করে এটি পরীক্ষা করার সময় এটি পুরোপুরি ভাল কাজ করে। তবে আমি এখন এটি আইআইএস 7.5 এ স্থাপন করেছি এবং অ্যাপ্লিকেশনটি অ্যাক্সেস করার চেষ্টা করার সময় আমি একটি HTTP 404 ত্রুটি পাচ্ছি।

এখানে আমার ওয়েব কনফিগ

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-FlowGearProxy-20123141219;Integrated Security=True" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="true" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880" />
    </authentication>
    <pages>
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
      </namespaces>
    </pages>
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
  </system.webServer>
</configuration>

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

>> ভিএস 2010 ডিবাগিং ডেভ সার্ভার ব্যবহার করে। - একেএ অশুভ ক্যাসিনি। ব্লগস.এমএসডিএন / বি / ক্রিক্যান্ডি / অর্চিভ / ২০১৮ /০ //২২ / ২২ দেখুন - এটি যদি কাজ না করে তবে একটি নতুন এমভিসি 4 ওয়েবএপি অ্যাপ এবং পরীক্ষার স্থাপনা তৈরি করুন - সহজ
রিকআ্যান্ডএমএসএফটি

উত্তর:


93

আমি এটির সাথেও লড়াই করে যাচ্ছিলাম। ভাগ্যক্রমে, স্টিভ মিশেলোটি একটি সমাধান ডকুমেন্ট করেছেন যা এখানে আমার জন্য কাজ করেছে ।

দিন শেষে, আমি আমার ওয়েব কনফিগারেশনে এক্সটেনশনহীন ওড়নহ্যান্ডলার-ইন্টিগ্রেটেড -৪০ হ্যান্ডলারের সমস্ত ক্রিয়া (ক্রিয়া = "*") সক্ষম করেছি।

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
        <handlers>
            <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
            <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" />
        </handlers>
</system.webServer>

আবার কেউ কেউ উল্লেখ করেছেন যে ওয়েবডিএভি সক্ষম করা সমস্যার কারণ হয়ে দাঁড়ায়। ভাগ্যক্রমে, আমি সেই সমস্যাটিতেও অংশ নিই না।


4
এটির জন্য +1। তবে আমি এটি আইআইএস ম্যানেজারের কাছ থেকে অ্যাপ্লিকেশন অন হ্যান্ডলার ম্যাপিংয়ে পরিবর্তন করেছি। এটি একগুচ্ছ ক্রিয়াপদের জন্য চালু হয়েছিল। আমি এটি সমস্ত ক্রিয়া (*) এবং ভয়েলাতে পরিবর্তন করেছি। তবে উত্সে রাখাই সর্বদা ভাল।
ওল্ফ

4
আমারও একই সমস্যা, তবে এই পরিবর্তনগুলি আমার কোনও কাজে লাগেনি। অন্য কোন কনফিগারেশনও আছে? বা একটি গ্রন্থাগার রেফারেন্স হতে পারে? দয়া করে, এটিও দেখুন: stackoverflow.com/questions/27303523/…
বাবাক

4
অনেক লোক বলে যে রানআল ম্যানেজডমডিউলসফরআলরেক্সেস্টগুলি ব্যবহার করা কর্মক্ষমতাকে প্রভাবিত করবে (নীচে হেমন্ত গৌতমের উত্তরগুলি পরীক্ষা করুন)। তবে আমি একই পরিষেবা কাজ পেতে পারি না, তাই আমি এখানে কনফিগারেশনটি অনুসরণ করি: blog.maartenballiauw.be/post/2012/12/07/… এই লিঙ্কটি আরও উল্লেখ করে যে ওয়েবডিএভি সক্ষম করা ফলাফলকেও প্রভাবিত করতে পারে
হোয়াং লং


4
আমার জন্য, ক্রিয়াটি ইতিমধ্যে ছিল **এটিকে *.এখনও সমস্যার কারণ হিসাবে কাজ করার জন্য আমাকে তার পথ পরিবর্তন করতে হয়েছিল
অলস্টি

55

একই সমস্যা ছিল। এই কনফিগারেশন সেটিংটি সমস্যার সমাধান করেছে।

<system.webServer>
    .....
    <modules runAllManagedModulesForAllRequests="true" />
    .....
</system.webServer>

হিসাবে ব্যাখ্যা করা http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html সমাধান উপরে এড়িয়ে চলা উচিত। পরিবর্তে এটি ব্যবহার করুন। একই সমাধান লোপসাইড দ্বারা সরবরাহ করা হয়। ব্যবহারকারীদের প্রথম কার্যক্ষম সমাধান প্রয়োগ করা এড়াতে এটি এখানে রাখা।

<modules>
  <remove name="UrlRoutingModule-4.0" />
  <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
  <!-- any other modules you want to run in MVC e.g. FormsAuthentication, Roles etc. -->
</modules>

ভাল কাজ করে, তবে এটি খুব ভাল সমাধান নয়। UrlRoutingModule (আরও নীচে Lopsided দ্বারা উত্তর দেখুন) ব্যবহার করা ভাল। ব্রিটিশডিফলার.কম.২০১০
০6/

37

যদি আইএসআইএসটি এএসপি.এনইটি-র পরে ইনস্টল করা থাকে বা সক্ষম করা থাকে তবে আপনার .NET অ্যাপ্লিকেশনটি কাজ করার জন্য আপনাকে IIS এর সাথে ম্যানুয়ালি ASP.NET নিবন্ধন করতে হবে।

উইন্ডোজ 7 এবং তার আগের:

  1. প্রশাসক হিসাবে কমান্ড প্রম্পট (cmd.exe) চালান।
  2. উপযুক্ত। নেট ফ্রেমওয়ার্কের স্থানে নেভিগেট করুন। (যেমন সি: \ উইন্ডোজ \ মাইক্রোসফট. নেট \ ফ্রেমওয়ার্ক 64 \ v4.0.30319)
  3. এপনেট_গ্রেইস.এক্সি -i চালান

উইন্ডোজ 8 এবং তারপরে:

  1. শুরু মেনু থেকে, "উইন্ডো বৈশিষ্ট্যগুলি চালু বা বন্ধ করুন" টাইপ করুন এবং প্রথম ফলাফলটি নির্বাচন করুন।
  2. ইন্টারনেট তথ্য পরিষেবাদিগুলি প্রসারিত করুন: ওয়ার্ল্ড ওয়াইড ওয়েব পরিষেবাদি: অ্যাপ্লিকেশন বিকাশ বৈশিষ্ট্যগুলি নির্বাচন করুন এবং এএসপি.নেট 4.5 নির্বাচন করুন (বা আপনার যদি নেট নেট ফ্রেমওয়ার্ক ২.০-৩.৫-তে প্রকল্পগুলি সমর্থন করার প্রয়োজন হয় তবে এএসপি। নেট 3.5) নির্বাচন করুন।
  3. ঠিক আছে ক্লিক করুন।

4
আমি আইআইএস এক্সপ্রেস থেকে পূর্ণ আইআইএস-তে উন্নয়নের জন্য স্থানান্তরিত করেছি এবং এটিই এটি আমার জন্য স্থির করে। ধন্যবাদ!
জিম ব্রাউন

4
উপরে @ জিমব্রাউন এর মত; আইআইএস এক্সপ্রেস থেকে স্থানান্তরিত হওয়ার পরে এটি আমার পক্ষে কাজ করেছিল।
সলিডরেগার্ডলেস

এটি আমার পক্ষে এটি সমাধান হয়েছে। উইন্ডোজ 7 এ, ভিজুয়াল স্টুডিও 2015 এন্টি, নতুন এমভিসি 5 ওয়েবসাইট আইআইএস এক্সপ্রেস থেকে সম্পূর্ণ আইআইএসে পরিবর্তিত হয়েছে।
জিফ গুন্টার

26

আপনি কি ভার্চুয়াল ডিরেক্টরি বা কোনও অ্যাপ্লিকেশনটিতে ওয়েব এপিআই অ্যাপ চালাচ্ছেন?

উদাহরণস্বরূপ: আমি যখন ডিফল্ট ওয়েব সাইট> নমুনা ওয়েবেপিআইয়ের অধীনে আমার প্রকল্পটি স্থানীয় আইআইএস-এ স্থানান্তরিত করেছি তখন আমার একই সমস্যা হয়েছিল। আমি বিশ্বাস করি যে এটি URLরাউটিংয়ের পরিবর্তনের কারণে রয়েছে :

মূল: localhost:3092/api/values
সরানো: localhost/SampleWebAPI/api/values

আপনি যদি ওয়েব এপিআই প্রকল্পটিকে নিজের ওয়েবসাইটে আলাদা পোর্টে চালিত করেন তবে এটি কাজ করে বলে মনে হচ্ছে।

অতিরিক্ত দ্রষ্টব্য: আমি apiআমার ওয়েবসাইটের মধ্যে একটি অ্যাপ্লিকেশনটির নাম হিসাবে যুক্ত করে বিষয়টি আরও জটিল করেছিলাম যা কার্যকর URLহওয়ার কারণ হয়েছিল:

localhost:81/api/api/values - ওয়েবসাইটটিকে নিজস্ব ওয়েবসাইটে নিয়ে যাওয়ার পরে এটি লক্ষ্য করা গেছে

অতএব, কারণ আমি আমার ওয়েবসাইট ও ওয়েব API MVC প্রকল্প সাইটের মধ্যে বিচ্ছেদ বজায় রাখার জন্য চেয়েছিলেন, আমি রাউটিং নিয়ম পরিবর্তিত global.asaxওয়েব এপিআই "DefaultAPI" জন্য থেকে api/{controller}/{id}থেকে {controller}/{id}এবং ASP.NET MVC এক Defaultথেকে {controller}/{id}থেকে info/{controller}/{id}


4
hehehe ... আমি আমার অ্যাপ্লিকেশন নামে ছিল IISযেমন apiখুব। এটি 2 ঘণ্টারও বেশি সময় ধরে এই সমস্ত ট্রায়াল এবং ডিবাগিংয়ের ত্রুটির সৃষ্টি করে। আপনার অভিজ্ঞতা ভাগ করে নেওয়ার জন্য আপনাকে অনেক ধন্যবাদ! এটির নাম পরিবর্তন করে এখন আবার ব্যবসায়ে ফিরে আসছি। : ডি
লেনিয়েল ম্যাককাফেরি

ধন্যবাদ - এটি আমার সমস্যা ছিল! :)
জেন

আমি নিশ্চিত কেন API কল না ব্যর্থ হয়েছে am যখন আমি একটি বন্দর 8080 অধীনে আমার প্রকল্প হোস্ট ছিলেন মাত্র কৌতুক :) করেনি ডিফল্ট ওয়েবসাইট অধীনে একটি ভার্চুয়াল ডিরেক্টরি যেমন চলন্ত
কিরণ

14

এটিই আমার পক্ষে কাজ করার একমাত্র উত্তর ...

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


ওয়েবকনফিগ ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করা আমার পক্ষে কাজ করেছে:

<system.webServer>
  <modules>
    <remove name="UrlRoutingModule-4.0" />
    <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
  </modules>
</system.webServer>

system.webServer ট্যাগটি ইতিমধ্যে অবশ্যই ছিল তবে আমি এতে মডিউল ট্যাগ যুক্ত করেছি এবং তারপরে মডিউল ট্যাগে মুছে ফেলুন এবং ট্যাগগুলি যুক্ত করুন


২০০৮ (আর ২ নয়) সার্ভারে এই সমস্যাটি হিট করুন এবং এটিই ছিল আমার জন্য একমাত্র সমাধান worked এছাড়াও, অ্যাপ্লিকেশন পুলটিকে "ইন্টিগ্রেটেড" মোডে সেট করার সাথে আমাকে এটি একত্রিত করতে হয়েছিল।
জুমজুম

11

কয়েকটি জিনিস যাচাই করতে হবে:

  1. আপনার কাছে। নেট ফ্রেমওয়ার্ক 4 ইনস্টল করা আছে কিনা তা নিশ্চিত হয়ে নিন।
  2. আপনার ওয়েবসাইট এবং ভার্চুয়াল ডিরেক্টরি (প্রযোজ্য ক্ষেত্রে) জন্য নেট নেট ফ্রেমওয়ার্কের 4 সংস্করণটি নির্বাচিত হয়েছে তা নিশ্চিত করুন।
  3. আপনি এমভিসি ইনস্টল করেছেন বা আপনার বিন ডিরেক্টরিতে উপযুক্ত ডিএলএল রয়েছে তা নিশ্চিত করুন।
  4. ASP.NET 4.0 ওয়েব পরিষেবা এক্সটেনশনের অনুমতি দেওয়া দরকার
  5. অ্যাপ্লিকেশনটিকে তার নিজস্ব অ্যাপ পুলে রাখুন।
  6. ডিরেক্টরিটিতে কমপক্ষে "কেবলমাত্র স্ক্রিপ্টগুলি" চালানোর অনুমতি রয়েছে তা নিশ্চিত করুন।

আমার 4 টি অন্যান্য সাধারণ ওয়েব অ্যাপ্লিকেশন একই আইআইএস সার্ভারে চলছে এবং তারা সবাই। নেট ফ্রেমওয়ার্ক ব্যবহার করছে 4. সুতরাং 4 পয়েন্টের কোনটির প্রয়োজন নেই? যখন আমি আমার এমভিসি অ্যাপ্লিকেশন প্রকাশ করি তখন আমি যুক্ত করণীয় নির্ভরতা যুক্ত করে এএসপি.নেট এমভিসি যুক্ত করি যাতে এটি আমার বিন ডিরেক্টরিতে থাকে
আর্মান

@ আরমান্ড মনে হচ্ছে আপনি # 1 করেছেন। # 2 এখনও প্রয়োজনীয়। ডিপ্লোয়যোগ্য নির্ভরতা যুক্ত করা, আপনি যদি এখানে বর্ণিত হিসাবে এটি করেন: haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx , উপরের # 3 এর যত্ন নেওয়া উচিত। # 4 প্রয়োজনীয় বা নাও হতে পারে যদিও আমার কখন জ্ঞান নেই যখন এটি কখন প্রয়োজন হয় না এবং প্রয়োজন হয় না।
জো শ্রাগ

9

আমারও একই সমস্যা ছিল। আমার ওয়েবকনফিগ ফাইলে আমার সঠিক সেটিংস ছিল তবে ইন্টিগ্রেটেড মোডের চেয়ে ক্লাসিক মোডে অ্যাপ্লিকেশন পুলটি চালাচ্ছিলাম I

স্ক্রিন শট


7

এই সমস্যাটি নিম্নলিখিত কারণেও ঘটতে পারে

1. ওয়েব.কনফিগ

<system.webServer>
     <modules runAllManagedModulesForAllRequests="true" /> 
<system.webServer>

২. নিশ্চিত করুন যে ওয়েব এপিআই মোতায়েন করা সার্ভারের বিন ফোল্ডারে নিম্নলিখিতটি উপলব্ধ

  • System.Net.Http

  • System.Net.Http. ফর্ম্যাট করা

  • System.Web.Http.WebHost

  • System.Web.Http

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

সাদীশ কুমার.ভি


আপনার যদি সার্ভারে এমভিসি ইনস্টল না থাকে তবে এই ডিএলএলগুলির প্রয়োজনীয়। আমার ক্ষেত্রে আমি এপিআই'র অনুরোধ করার সময় একটি ফাঁকা পৃষ্ঠা দেখছিলাম। ডিএলএল যুক্ত করা আমার পক্ষে ম্যানুয়ালি কাজ করেছে। ধন্যবাদ !!
বিপুল ভোজওয়ানি

আমার সমস্যাটি সমাধান করা হয়েছিল System.Net.Http মূল প্রকাশিত ফোল্ডারে যুক্ত করার পরে, আমার ছিল Asp.net মূল সমাধান
mohas

6

এই এসও উত্তরের ভিত্তিতে , আমাকে কেবল পরিবর্তন path="*."করতে হয়েছিলpath="*" যোগ জন্য ExtensionlessUrlHandler-Integrated-4.0configuration>system.WebServer>handlersআমারweb.config

আগে:

<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

পরে:

<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*" verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

আপনাকে অনেক ধন্যবাদ গ্রেগ, এই বোকা পথের কারণে আমি আমাকে হত্যা করতে চলেছিলাম = "*" " কিন্তু এখন, এই দু: খিত বিন্দুটি ফেলে দেওয়ার পরে, সবকিছু পুরোপুরি ঠিকঠাক কাজ করে! আপনাকে অনেক ধন্যবাদ!
জুনিয়র সিলভা

5

আমিও এই সমস্যায় পড়েছি। আমি অ্যাপ্লিকেশন পুল> অ্যাপ্লিকেশন পুল নাম গিয়ে সমস্যাটি সমাধান করেছি এবং .NET ফ্রেমওয়ার্কটি v.2.0.50727 সংস্করণ থেকে v4.0.30319 এ পরিবর্তন করেছি।


4
আমি নিজেও এটি আবিষ্কার করেছি। আপনার উত্তরটিকে সমর্থন করা কারণ এটি মিস করা সহজ। আমি যখন আমার অ্যাপ্লিকেশনের জন্য একটি সাইট তৈরি করেছি, আইআইএস স্বয়ংক্রিয়ভাবে আমার জন্য একটি অ্যাপ পুল তৈরি করেছে, নেট ভি 2.0 এ সেট করুন! কেন, কেন, কেন ?? :)
মাইক টাভের্ন

4

আমাকে ফাইল প্রকাশের বিকল্পটি "প্রকাশের সময় প্রাকম্পাইল" অক্ষম করতে হয়েছিল।


আর আপনি কোথায় করেন?
vapcguy

4
এটি এমন একটি সংলাপে উপস্থিত হয় যখন আপনি প্রকল্পটি ডান ক্লিক করেন এবং প্রকাশ নির্বাচন করুন। এটা দেখে মনে হচ্ছে এই
Pakman

3

মাইক্রোসফ্ট থেকে অফিসিয়াল ফিক্স রয়েছে: http://support.microsoft.com/kb/980368

আমি দৃ strongly়ভাবে <মডিউলগুলি চালিত সমস্ত ম্যানেজডমডিউলসফোরআলরেকুইস্টেস = "সত্য"> ব্যবহার করার পরামর্শ দিচ্ছি না। এটি সমস্ত অনুরোধগুলিতে নেতৃত্ব দেয় (এমনকি .jpg, .css, .pdf, ইত্যাদি) সমস্ত নিবন্ধিত HTTP মডিউল দ্বারা প্রক্রিয়া করা হবে। দুটি নেতিবাচক মুহুর্ত রয়েছে: ক) হার্ডওয়্যার রিসোর্সে অতিরিক্ত বোঝা; খ) সম্ভাব্য ত্রুটি, যেমন http মডিউলগুলি নতুন ধরণের সামগ্রী প্রক্রিয়াকরণ করবে।


4
আপনাকে ধন্যবাদ , যাতে অনেক! আমি অন্য সব কিছুর চেষ্টা করেছি এবং এটি কেবল এটিই স্থির করেছিল।
ওরান ডেনিসন

এখানে একই, এই উত্তর যুক্ত করার জন্য আপনাকে অনেক ধন্যবাদ! আমার সমস্যার সমাধান কি ছিল!
অক্টাভিও গারবারিনো

2

উইন্ডোজ অ্যাজুরি টিউটোরিয়াল অনুসরণ করার পরে আমি ওয়েব এপিআই থেকে 404 টি প্রতিক্রিয়া পাওয়া শুরু করেছি যা আমাকে আমার প্রকল্পে "WebRole.cs" ফাইল যুক্ত করতে বলেছিল।

আমার প্রকল্প থেকে "WebRole.cs" অপসারণ করার পরে, আমার ওয়েব API কলগুলি আবার কাজ শুরু করে।


এটি আমার পক্ষে কাজ করেছে। আমি একটি অ্যাজুরে অ্যাপ্লিকেশনটি একটি ভিএম ডিপ্লোয়মেন্টে ফিরে স্থানান্তরিত করেছি এবং ওয়েবআরএল.সি.এস. এর সামগ্রীগুলি মন্তব্য করার পরে, আমার ওয়েবএপিআই কলগুলি আবার কাজ করা শুরু করে।
স্কট

আমি অবশ্যই এই এক দিন কাটিয়েছি! WebRole.cs মন্তব্য করে কাজ করেছে - তবে কেন অবাক
ইগোরেক

2

অ্যাপ্লিকেশন পুলটি ইন্টিগ্রেটেড মোডে রয়েছে তা নিশ্চিত করুন
এবং ওয়েবকনফিগ ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করুন:

<system.webServer>
    .....
    <modules runAllManagedModulesForAllRequests="true" />
    .....
</system.webServer>

2

আমার ক্ষেত্রে, বিষয়টি সহজভাবে ছিল যে আমি সাইটটিতে অ্যাক্সেস করার চেষ্টা করছিলাম

myserver.myintranet.com/mysite

কিন্তু আইআইএস-এ http- র জন্য ওয়েব সাইট বাইন্ডিংয়ের বাইন্ডিংয়ে হোস্টের নাম নির্দিষ্ট করা হয়নি। এটি এর আগেও কাজ করেছিল এবং কীভাবে এটি ফুটিয়ে উঠল আমার কোনও ধারণা নেই।

একবার রেখেছি myserver.myintranet.com হোস্টটির নাম 404 চলে গেল।

আইআইএস ম্যানেজারে আপনি বাইন্ডিংগুলিতে যান ... ক্রিয়া ফলকটিতে, তারপরে হোস্টের নামটি নির্দিষ্ট করতে http বাইন্ডিং সম্পাদনা করুন।


এমনকি আমিও একই সমস্যার মুখোমুখি হচ্ছি। এবং আপনি যেমন পরামর্শ দিয়েছিলেন আমি HTTP বাইন্ডিংয়ে হোস্টের নাম পরীক্ষা করেছিলাম এবং এটি কেবলমাত্র সঠিকভাবে আপডেট হয়। তবে তবুও আমার বিষয়টি জেগে আছে। দ্রষ্টব্য: আমি আমার অ্যাপ্লিকেশন অ্যাপ্লিকেশনটিকে শিশু অ্যাপ্লিকেশন হিসাবে হোস্ট করেছি। এই বিষয়ে কারও ধারণা থাকলে দয়া করে পরামর্শ দিন। উদাহরণ: "sample.example.com" আমার প্রধান অ্যাপ্লিকেশান এবং হিসাবে "sample.example.com/myAPI/" এই ডোমেনের অধীনে একটি এপিআই নির্মিত
কৃষ্ণ মনি


1

একই সমস্যাটি ছিল, যখন আইআইএস থেকে পরিবেশিত হয়েছিল তখন ওয়েব এপিআই কন্ট্রোলারের জন্য একটি 404 প্রতিক্রিয়া ছিল কিন্তু ভিএস2010 থেকে সবকিছু ঠিকঠাক কাজ করেছিল। উপরের সমাধানগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি। অবশেষে আমি দেখতে পেলাম যে সমস্যাটি হ'ল আমরা অ্যাপ্লিকেশনটির জন্য ডাব্লুএসই 3.0.০ সমর্থন যুক্ত করেছি এবং মাইক্রোসফ্ট.ওয়েব. সার্ভিসেস ৩ ডিল অ্যাপ্লিকেশনটির / বিন ডিরেক্টরিটিতে অনুপস্থিত ছিল। অদ্ভুত, কিন্তু dll অনুলিপি করার পরে, রুট ম্যাপিং কাজ শুরু করে।


1

আমার কাছে সমস্যাটি ছিল মূল সাইটটি একটি নেট নেট অ্যাপ্লিকেশন পুল ব্যবহার করার জন্য কনফিগার করা হয়েছিল এবং সেই সাইটের মধ্যে আমার অ্যাপ্লিকেশনটি নেট নেট 4.5.৪ ছিল।

আমি .NET 4 অ্যাপ পুল সহ একটি নতুন সাইট তৈরি করেছি এবং আমার অ্যাপ্লিকেশনটিকে এর মূলে রেখেছি - এবং এটি দুর্দান্ত কাজ করেছে।


1

আমিও এ নিয়ে লড়াই করেছি। আমার সঠিক সমস্যাটি ছিল আমার কাছে একটি এএসএমএক্স ওয়েব পরিষেবা ছিল যা যখন আমি একটি ওয়েব পদ্ধতিতে একটি প্যারামিটার প্রবেশ করিয়ে পরীক্ষা করে দেখি তখন এটি আমাকে 404 দেয় The নির্দিষ্ট পদ্ধতিটি অতীতে ভাল কাজ করেছিল এবং পরিবর্তিত হয়নি, কেবল পুনরায় প্রকাশিত। তারপরে আমি এখানে পৌঁছেছি এবং পোস্ট করা সমস্ত উত্তর চেষ্টা করেছি এবং কিছুই সাহায্য করেনি।

আমার চূড়ান্ত সমাধান? আমি জানি এটি কঠোর, তবে আমি কেবলমাত্র একটি নতুন ভিজ্যুয়াল স্টুডিও সমাধান এবং ওয়েব প্রকল্প তৈরি করেছি। নির্বাচিত এমভিসি, তারপরে আমি একটি "যুক্ত"> "নতুন আইটেম" করলাম, এর অধীনে "ভিজ্যুয়াল সি #"> "ওয়েব" এবং "ওয়েব সার্ভিস (এএসএমএক্স)" নির্বাচন করেছি। আমি আমার পুরানো কোড-পেছনের কোডটি সমস্ত অনুলিপি করেছিলাম, তারপরে আমি আমার নতুন প্রকল্পে যে নতুন স্থানটি দিয়েছিলাম সেই নথির নোটটি নিয়েছিলাম, তারপরে আমার পুরানো কোডটি সমস্ত নতুন প্রকল্পের নতুন কোড-পেছনের ফাইলটিতে পেস্ট করে নেমস্পেস রেখেছি এটা ছিল কি ফিরে।

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

তারপরে আমি প্রকল্পটিতে একটি "পুনর্নির্মাণ সব" করেছি, তারপরে এটি "প্লে" বোতামটি দিয়ে ভিজ্যুয়াল স্টুডিওটি দিয়ে শুরু করেছি যখন আমি এটি সঠিকভাবে তৈরি করতে পেরেছি। এটা ভাল কাজ করে। তাই আমি এটি প্রকাশ করেছি এবং আমি সেখান থেকে যখন এটি চালিয়েছি তখন যে সার্ভারটি প্রকাশ করেছি সেখানে সবকিছু ঠিক ছিল। কী ঘটেছিল সে সম্পর্কে আমার কোনও ব্যাখ্যা নেই, তবে আমি কীভাবে এটি পেরেছি। ভিজ্যুয়াল স্টুডিওর কিছু এটির উপদ্রব করেছে কিনা তা দেখার জন্য এটি কোনও খারাপ পরীক্ষা নয়।


1

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


0

আপনি কোন ধরণের HTTP অনুরোধ করছেন?

এটি সামান্য বাম-মাঠের উত্তর তবে আপনার এআইপি আসলে কী ফিরে আসছে তা যাচাই করার জন্য আপনি 404 এর জন্য আইআইএস ডিফল্ট ত্রুটি পৃষ্ঠাটি সরিয়ে দেওয়ার চেষ্টা করেছেন?

আমার একটি সমস্যা হয়েছিল যার মাধ্যমে আমি যখন একটি ভুল আইডি এটিতে পোস্ট করি তখন আমি একটি নিয়ন্ত্রণকারী পদ্ধতি 404 ফেরত দিতে চাইতাম। আমি দেখতে পেয়েছি যে আমি সর্বদা আমার API থেকে HTTP প্রতিক্রিয়া চেয়ে আইআইএস 404 "ফাইল বা ডিরেক্টরি খুঁজে পাইনি" পৃষ্ঠা পাচ্ছি। ডিফল্ট 404 ত্রুটি পৃষ্ঠাটি সরানো সমস্যার সমাধান করেছে।

ভিন্ন সমস্যা তবে আপনি কখনই জানেন না এটি সাহায্য করতে পারে;)


0

ওয়েবকনফিগ ফাইলে কনফিগারেশনের এই অংশটি আমাকে সহায়তা করেছিল: system.webServer বিভাগে:

      <security>
          <requestFiltering>
              <verbs applyToWebDAV="true">
                  <remove verb="PUT" />
                  <add verb="PUT" allowed="true" />
                  <remove verb="DELETE" />
                  <add verb="DELETE" allowed="true" />
                  <remove verb="PATCH" />
                  <add verb="PATCH" allowed="true" />
              </verbs>
          </requestFiltering>
      </security>      

0

আমার সাম্প্রতিক আমার সমস্ত ওয়েব এপিআই 2 টি রুট / নিয়ন্ত্রণকারীদের সাথে 404 টির মধ্যে ত্রুটি পাওয়া যায়নি। সুতরাং আমি প্রকৃত সার্ভারে গিয়ে হোস্টনামের পরিবর্তে লোকালহোস্ট ব্যবহার করে ব্রাউজ করার চেষ্টা করেছি এবং "404.7 পাওয়া যায় নি - অনুরোধ ফিল্টারিং মডিউলটি ফাইলের সম্প্রসারণ অস্বীকার করার জন্য কনফিগার করা হয়েছে"।

এই এসও পোস্টটি এটি সমাধান করতে আমাকে সহায়তা করে।


0

এটি আমার জন্য সমাধান হয়ে গেছে, যখন আমি আরআরআরআউটিংমডিউল -৪.০ এর জন্য চেকবক্সটি সক্ষম করি:

আইআইএস ম্যানেজার> মডিউলগুলি> UrlRoutingModule-4.0> মডিউল সম্পাদনা করুন> চেক-বাক্সটি পরীক্ষা করুন "কেবলমাত্র ASP.NET অ্যাপ্লিকেশন বা পরিচালিত হ্যান্ডলারের কাছে অনুরোধের জন্য আমন্ত্রণ করুন"।


0

আমার একই সমস্যা ছিল: ভিজ্যুয়াল স্টুডিও 2013 সহ একটি নতুন ইনস্টল করা মেশিনে, ওয়েব এপিআই প্রকল্প আইআইএসএক্সপ্রেসের অধীনে কাজ করছে, তবে স্থানীয় আইআইএস-এর অধীনে নয়। আমি খুঁজে পেতে পারে এমন সমস্ত কিছুই চেষ্টা করেছিলাম, তবে শেষ পর্যন্ত সমস্যাটি ওয়েব এপিআই দিয়ে নয়, তবে এমভিসির সাথে: এমনকি এটি ইনস্টল করা হয়েছিল, কোনও এমভিসি প্রকল্প চলছিল না।

আমার জন্য যা কাজ করা হয়েছিল তা হল আইআইএস আনইনস্টল করা (অ্যাডডি / অপসারণ উইন্ডোজ বৈশিষ্ট্যগুলি থেকে), তারপরে এটি পুনরায় ইনস্টল করুন এবং তারপরে এসপনেট_গ্রেইস -i চালান। হতে পারে এটি অন্য কাউকে সহায়তা করে।


0

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


0

আমি কিছুই করি না, কেবল এই ট্যাগটি ওয়েবকনফাইগ এ যুক্ত করুন, এটির এই সমস্যাটি নিম্নলিখিত বিষয়গুলির মধ্যে একটি আসে

  1. এমভিসি বা এসপ নেট ফর্ম ব্যবহার করে একই প্রকল্পে ওয়েব অপি ব্যবহার করুন

  2. গ্লোবাল কনফিগারেশন হিসাবে গ্লোবাল.এক্সএক্স-এ রুটকনফিগ এবং ওয়েবএপিপিফিনিগ্রেশন ব্যবহার করুন on কনফিগার (ওয়েবএপিসিফিগ.আরজিস্টার); রুটকনফিগ.আরজিস্টাররউটস (রুটটেবল.রোউটস);

  3. এমভিসি রাউটিংয়ের জন্য বন্ধুত্বপূর্ণ এবং এমভিসি রাউটিংয়ের সাহায্যে 2 টি উদ্দেশ্যে, এসপ নেট ফর্মগুলি ব্যবহার করে রুটকনফিগ ব্যবহার করুন

আমরা কেবল এই ট্যাগটি ওয়েবকনফাইগে ব্যবহার করি, এটি কার্যকর হবে।

<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
   .........................
</modules>
</system.webServer>

0

ওয়েব এপিআই এবং। নেট কোর ওয়েব এপিআই দিয়ে একই ইস্যুতে ছড়িয়ে পড়ে। ডিবাগিংয়ের সময় ভিএস 2017 এ সূক্ষ্ম কাজ করেছে, তবে আইআইএস 7.5-এ প্রকাশিত হলে 404 ফেরত এসেছে। আমার জন্য সমাধানটি আমি সাইটটি তৈরি করার পদ্ধতিটি পরিবর্তন করা হয়েছিল। কোনও ওয়েব সাইটের মূলের উপর প্রকাশের পরিবর্তে (সাইটগুলি রাইট ক্লিক করে তৈরি করা হয়েছে ... ওয়েব সাইট যুক্ত করুন), আমাকে একটি অ্যাপ্লিকেশন তৈরি করতে হয়েছিল (কোনও ওয়েব সাইট ডান ক্লিক করে তৈরি করা হয়েছিল ... অ্যাপ্লিকেশন যুক্ত করুন) এবং সেই ফোল্ডারে প্রকাশ করতে হবে। নোট করুন যে কোর সংস্করণটির জন্য আমাকে অ্যাপ্লিকেশন পুল .NET ফ্রেমওয়ার্ক সংস্করণ সেটিংটি "নো ম্যানেজড কোড" এ পরিবর্তন করতে হয়েছিল।


0

আমার জন্য সমাধান ছিল সরানোর আমার web.config ফাইল থেকে নিম্নলিখিত পংক্তিগুলি:

<dependentAssembly>
    <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.1.1.3" newVersion="4.1.1.3" />
</dependentAssembly>
<dependentAssembly>
    <assemblyIdentity name="Microsoft.IdentityModel.Tokens" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.5.0.0" newVersion="5.5.0.0" />
</dependentAssembly>

আমি লক্ষ্য করেছি যে ভিএস এগুলি স্বয়ংক্রিয়ভাবে যুক্ত করেছে, কেন তা নিশ্চিত নয়


0

এই ওয়েবকনফিগটি ব্যবহার করে দেখুন .. "নিউজএপি.ডিএল" আপনার মূল ডেলির সাথে প্রতিস্থাপন করুন!


<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\NewsApi.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
    </system.webServer>
  </location>
</configuration>

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