2015-11-09 66 views
0

我的App.config:如何發佈WCF Rest Webservice?

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
    <services> 
     <service name="WcfJsonRestService.Service1"> 
     <endpoint address="http://localhost/webservice" 
        binding="webHttpBinding" 
        contract="WcfJsonRestService.IService1"/> 
     </service> 
    </services> 
    <behaviors> 
     <endpointBehaviors> 
     <behavior> 
      <webHttp /> 
     </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    </system.serviceModel> 
</configuration> 

我發表我的web服務的http://localhost/webservice目標,但是當我在瀏覽器中打開http://localhost/webservice/我得到這個:

localhost - /webservice/ 

[To Parent Directory] 

11/9/2015 10:30 AM  <dir> bin 
11/9/2015 11:23 AM   58 WcfJsonRestService.Service1.svc 
11/9/2015 11:22 AM   481 Web.config 

這在調試模式下運行良好。我只是http://localhost/webservice/getUsers,我收到了一個用戶列表。當我將web服務發佈到IIS時發生問題,因爲http://localhost/webservice/getUsers返回HTTP Error 404.0 - Not Found

有什麼建議嗎?

+0

網站是否有認證的IIS?在「connect as」中檢查您網站的基本設置 –

+0

@Rgdent我有「應用程序用戶(傳遞身份驗證)」選項。 – Christopher

+0

是旁邊的「連接爲...」點擊「測試設置...」應該有兩個結果:「身份驗證」和「授權」,他們都應該旁邊有一個綠色的對勾。 –

回答

0

你可以試試這個。

您可以通過使用默認的 匿名用戶帳戶(IUSR)配置匿名身份驗證,也可以設置一個本地用戶帳戶 匿名用戶。

  1. 在IIS管理器的功能視圖中,雙擊身份驗證。
  2. 在「身份驗證」頁面上,選擇「匿名身份驗證」。
  3. 在操作窗格中,單擊編輯以設置安全主體(用戶憑據),根據該匿名用戶將連接到該網站。
  4. 在編輯匿名身份驗證憑據對話框中,選擇下列選項之一:

    • 如果要配置IIS用來訪問您的網站或應用程序的特定用戶帳戶,選擇特定用戶。然後單擊Set打開Set Credentials對話框,然後輸入該用戶名和密碼。然後點擊確定。

    • 如果您希望IIS進程使用當前應用程序池,選擇應用程序池標識的屬性頁上指定的帳戶運行。默認情況下,此標識是IUSR帳戶。 (重要提示:如果您使用IUSR帳戶,您授予匿名用戶的所有與該帳戶相關聯的內部網絡訪問。)

  5. 單擊確定關閉編輯匿名身份驗證憑據對話框。

您可以使用this鏈接作爲參考。