爲何這麼久才更新呢?不是說好一週一篇嗎?
...............好吧,我不知道說什麼......html
此次仍是按照問答的方式來展示,最後附上一個通用簡單的配置文件windows
問題:HTTP 錯誤 500.19 - Internal Server Error,沒法讀取配置節「protocolMapping」,由於它缺乏節聲明。
解決:Web.config文件中有protocolMapping節點, 發如今IIS部署時使用了.NET 2.0的應用程序池. 將其改成使用.NET 4.0的AppPool後正常安全
問題:HTTP 錯誤 404.3 - Not Found,因爲擴展配置問題而沒法提供您請求的頁面。若是該頁面是腳本,請添加處理程序。若是應下載文件,請添加 MIME 映射。
解決:打開「cmd」命令工具行,輸入「cd c:\windows\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\」,而後輸入「ServiceModelReg -i」,檢測和從新安裝app
問題:HTTP 錯誤 500.21 ,在這個"svc-Integrated"處理器列表有一個錯誤的模塊"ManagedPipelineHandler"
解決:打開「Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts」下的命令提示程序,32位系統打開32位,64位系統打開64位。輸入「aspnet_regiis.exe -iru」,而後安裝
緣由:這個問題一般發生在先裝visualstudio後裝IIS的WCF HTTP 激活模塊,若是先裝IIS後裝visualstudio則不會發生這個問題。ide
WCF配置文件工具
原文連接:http://www.cnblogs.com/iamlilinfeng/archive/2012/10/02/2710224.htmlxml
<?xml version="1.0"?> <configuration> <system.serviceModel> <!--服務--> <services> <!--name:名稱空間.類型名--> <!--behaviorConfiguration:behavior的名稱,請看behavior配置節的名稱--> <service name="WCFLibrary.User" behaviorConfiguration="MyBehavior"> <host> <baseAddresses> <!-- 每種傳輸協議的baseAddress,用於跟使用一樣傳輸協議Endpoint定義的相對地址組成完整的地址, 每種傳輸協議只能定義一個baseAddress。HTTP的baseAddress同時是service對外發布服務說明頁面的URL --> <add baseAddress="http://localhost:8732/Design_Time_Addresses/WCFLibrary/Service/"/> </baseAddresses> </host> <!-- 除非徹底限定,不然地址將與上面提供的基址相關,每一個服務能夠有多個Endpoint --> <!-- Address:指定這個Endpoint對外的URI,這個URI能夠是個絕對地址,也能夠是個相對於baseAddress的 相對地址。若是此屬性爲空,則這個Endpoint的地址就是baseAddress--> <!--bindingConfiguration:binding的名稱,請看binding配置節的名稱--> <endpoint address="" binding="wsHttpBinding" contract="WCFLibrary.IUser" bindingConfiguration="myHttpBinding"> <identity> <dns value="localhost"/> </identity> </endpoint> <!-- 此終結點不使用安全綁定,應在部署前確保其安全或將其刪除--> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> </service> </services> <!--綁定--> <bindings> <wsHttpBinding> <binding name="myHttpBinding"> <security mode="None"> <message clientCredentialType="Windows" /> </security> </binding> </wsHttpBinding> </bindings> <!--行爲--> <behaviors> <serviceBehaviors> <behavior name="MyBehavior"> <!-- httpGetEnabled - bool類型的值,表示是否容許經過HTTP的get方法獲取sevice的WSDL元數據 --> <serviceMetadata httpGetEnabled="True"/> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> </configuration>