簡體   English   中英

調試WCF Web Api REST服務時出現問題

[英]Problems debugging WCF Web Api REST service

因此,我已經基於WCF Web API創建了REST服務。 它在我的本地IIS上運行良好。 但是,當我將其部署到外部服務器時,它不起作用。

在我的global.asax.cs中,將路線“ MyRoute”映射到類MyHandler。 因此,每當我訪問http:// localhost / MyApplication / MyRoute / MyResource時,我都會收到有效的響應。

但是,如果我在IE中打開http:// localhost / MyApplication / MyRoute / MyResource ,則在部署后在外部服務器上,我會收到“ Internet Explorer無法顯示網頁”(FF =“連接已重置-與服務器的連接在重置時頁面正在加載”)

如果輸入無效的資源名稱: http:// localhost / MyApplication / MyRoute / adfasdf,我在外部服務器上獲得的結果與在本地獲得的結果相同:“找不到端點”。

此外,我嘗試從/ MyRoute / MyResource映射到的MyHandler的方法中刪除所有邏輯,以查看該代碼中有什么導致請求失敗,但結果仍然存在。

我最好的猜測是問題一定程度上與路由映射有關。

無論是在我遇到的這種特定情況下,還是在更廣泛的方面進行調試,我都將非常感謝您的幫助。 令人沮喪的是,我什至不知道在哪里可以找到錯誤日志。 我已經查看了事件查看器,但找不到任何內容,也不知道在哪里可以看到更多內容。

如果可以的話,我很樂意發布一些代碼。

編輯:

好的,所以我解決了這個問題。 這是一個路由的東西。 我通過將其包含在web.config中解決了它:

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
      <modules runAllManagedModulesForAllRequests="true">
          <remove name="UrlRoutingModule" />
          <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />       
      </modules>
  </system.webServer>

我仍然不介意理解這些模塊背后的機制。 它們在哪里定義? 服務器上是否有一個配置文件來定義要加載的模塊,因為這顯然在本地IIS和外部IIS之間有所不同?

...而且我仍然不知道日志在哪里。

在IIS上托管時,Web API使用與ASP.NET(MVC)相同的URL路由模塊來選擇終結點​​。 如果您是自托管的,則不必這樣做。

暫無
暫無

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

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