2010-09-13 165 views
15

我一直在試圖做一個簡單的restful wcf服務,將返回JSON。它的工作如果我將在開發服務器上運行它。但是,如果我在IIS 7.5中部署它,我都會有這樣的錯誤,當我把它用http://localhost:70Restful WCF 4.0 IIS 7.5錯誤

訪問HTTP錯誤500.19 - 內部服務器 錯誤請求的頁面無法 訪問,因爲相關 配置數據該頁面是 無效。

配置錯誤配置節 「standardEndpoints」無法讀取 ,因爲它缺少一個部分 聲明

這裏是我的配置文件:這是由VS2010生成的默認文件。

<?xml version="1.0"?> 
<configuration> 

    <system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    </system.web> 

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

    <system.serviceModel> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> 
    <standardEndpoints> 
     <webHttpEndpoint> 
     <!-- 
      Configure the WCF REST service base address via the global.asax.cs file and the default endpoint 
      via the attributes on the <standardEndpoint> element below 
     --> 
     <standardEndpoint name="LocationService" helpEnabled="true" automaticFormatSelectionEnabled="true"/> 
     </webHttpEndpoint> 
    </standardEndpoints> 
    </system.serviceModel> 

</configuration> 

Im新的WCF特別在.net 4.0和IIS 7.5上。

任何人都可以幫忙嗎?或者任何人都經歷過相同的並且已經修復過?

回答

23

您是否確定已將IIS應用程序池配置爲使用ASP .NET 4.0運行?

右鍵單擊您的虛擬目錄在IIS管理器>管理應用程序>高級設置>讀取應用程序池名稱。

然後轉到應用程序池,找到該名稱並確保.NET Framework專欄顯示v4.0。

+0

感謝這個人,我已經檢查並發現我的應用程序創建了使用asp.net 2.0而不是4.0的自己的應用程序池。現在它的工作。非常感謝你。 – 2010-09-13 23:58:38

+0

非常感謝! – 2012-03-09 21:02:37

2

我在運行.net 4.0的應用程序池的w2008 x64上發生同樣的錯誤;安裝SP2後,問題消失

0

不好意思問這個可能似乎是顯而易見的一些問題,但它可能會幫助別人(主要是我),如果你能澄清的最後一步:

然後去應用程序池.. 。

我在哪裏可以找到應用程序池?

如果你不能說我習慣爲其他人爲我做這件事的大公司工作,現在我正在擔任開發人員和IT總監。

感謝

好吧,以後的研究9秒(我睜開眼睛)看着正上方的網站在IIS管理器

enter image description here

1

這個問題可以在Windows Server 2008上看到無服務包2安裝。要解決該問題,請安裝Windows Server 2008 Service Pack 2。

Ram Poornalingam's WebLog entry from the 26th October 2009摘自:

如果遇到以下錯誤在你的web應用程序(託管在IIS中的東西)「配置部分無法讀取,因爲它缺少一個部分聲明」

例子

「配置節‘standardEndpoints’不能讀,因爲它缺少一個部分聲明」

配置節「跟蹤」不能讀,因爲它缺少一個部分聲明」

那麼你需要安裝Vista/Win2k8任SP2或KB文章中提到的修補程序958854.

+0

這正是我們在將一些舊的x86應用程序服務器從IIS 6(2003)升級到IIS 7(2008 SP2)後面臨的問題。感謝您分享修復! – SliverNinja 2015-02-23 10:00:39