簡體   English   中英

WebAPI - 在本地工作但在遠程服務器上收到 404 錯誤

[英]WebAPI - works local but receive 404 error on remote server

這工作...

client.BaseAddress = new Uri("http://localhost/InventoryApi/");

這失敗了...

client.BaseAddress = new Uri("http://yyyZLtd.com/");

在 Win Server 2012 R2 上運行 IIS 8.5 的遠程服務器

完整代碼...

client.BaseAddress = new Uri("http://localhost/InventoryApi/");

或者

client.BaseAddress = new Uri("http://yyyZLtd.com/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new  MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await client.GetAsync("api/Inventory/99");
if (response.IsSuccessStatusCode) <- ERROR RETURNED

完整的錯誤信息...

{StatusCode: 404, ReasonPhrase: 'Not Found', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: { Date: Mon, 02 May 2016 14:54:08 GMT Server: Microsoft-IIS/8.5 X -Powered-By: ASP.NET Content-Length: 1245 Content-Type: text/html }}

我肯定錯過了什么。 Web Api 的新成員,一直使用 SOAP,這似乎更容易。

謝謝,任何幫助表示贊賞。

就在我准備戒煙的時候……我之前嘗試過沒有成功,但這次成功了……

德魯……謝謝你的建議。

我完全重新開始 - 第 4 次嘗試成功。 最初,我試圖從空模板創建一個 WebApi 項目並且只添加 WebApi。 我最終決定使用 Mvc 和 WebApi 以及 4.6 的目標框架使用空模板。 我添加了與之前使用的相同的類和控制器,並且它起作用了,至少在 Get 或 Post 上。 上面的模塊更改,給了我放置和刪除的能力。

我對我的 Web.Config 進行了以下更改...

<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
  <remove name="WebDAVModule" />
</modules>
<validation validateIntegratedModeConfiguration="false"/>
<handlers>
  <remove name="WebDAV"/>      
  <remove name="OPTIONSVerbHandler"/>
  <remove name="TRACEVerbHandler"/>
  <remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*,GET,POST,PUT,DELETE" type="System.Web.Handlers.TransferRequestHandler"
    preCondition="integratedMode,runtimeVersionv4.0"/>
</handlers>

希望這對其他人有所幫助。 在讓一切正常工作之前,我斷斷續續地玩了 4 天。 如果有人願意,非常樂意分享代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM