今天用vs2010開發了乙個wcf服務進行乙個簡單測試,沒想到這點小事竟然折騰了我2個小時。
為避免其他兄弟遇到相同的問題少走彎路做一下總結。
作業系統:windows7 旗艦版
開發環境:vs2010 .net framework4.0 asp.net4.0
第一步:檢查windows7中iis是否安裝了必要的元件
方法:控制面板->程式和功能->開啟或關閉windows功能
以下中標註的功能windows7預設不會安裝的
第二步:檢查iis的配置
系統必備安裝完成後開啟iis服務管理器,點預設**,雙擊「處理程式對映」如下圖
檢查一下下圖中紅色標註部分是否已經存在,否則wcf服務是無法呼叫的。不幸如果沒有找到這幾個"兄弟"的話方法如下
安裝註冊wcf元件
wcf沒有正確的在iis中註冊也許是導致看到錯誤頁面的最常見原因。如果你在安裝visual studio後才安裝iis, 那麼你在iis託管wcf服務中,就很可能遇到這樣的問題。開啟visual studio命令列提示工具(開始->所有程式->visual studio 2010->visual studio tools->visual studio 命令提示, 如果你的os是windows vista 、windows7及以後的版本,你需要以管理員身份開啟),執行」 servicemodelreg.exe –ia」。 命令完成後再看看
然後配置一下應用程式池.net framework的版本為4.0預設為2.0
可能出現的錯誤無法識別的屬性「targetframework」。
最後說說vs2010中wcf的發布遇到的問題
1.選擇wcf專案右鍵選擇發布在下圖設定對話方塊中注意紅色標註文字框的填寫方法
如果直接發布到名為"service"(這個根據要求自行定義名稱)的**不需要填寫/service前面的部分只需要填寫service
常出現的問題是無法找到service站點
發布成功後可能出現的問題
出現這個問題"svc-integrated」在其模組列表中有乙個錯誤模組「managedpipelinehandler」
開啟visual studio命令列提示工具(開始->所有程式->visual studio 2010->visual studio tools->visual studio 命令提示, 如果你的os是windows vista或windows7及以後的版本,你需要以管理員身份開啟),執行」aspnet_regiis.exe -i」。在命令執行完成後重新嘗試你的**。
大功告成!
IIS7上部署WCF問題總結
在iis上部署wcf實在是方便,只需要簡單安裝一下windows元件就可以了。若使用net.tcp協議,需要指定埠,預設埠為808,也就是需要在繫結裡面選擇型別net.tcp,在繫結資訊裡面輸入808 即指定埠為808 但是,若想在一台iis伺服器裡部署兩個wcf服務,怎麼辦呢?總不能兩個都用808...
IIS7中WCF配置問題集合
1 iis註冊wcf 以管理員身份執行命令列 c windows microsoft.net framework v3.0 windows communication foundation servicemodelreg.exe r y 3 無法識別的屬性 targetframework 請注意屬性...
IIS發布WCF問題
line 3 line 4 line 5 line 6 line 7 source file c inetpub wwwroot evalservicesite web.configline 5 version information microsoft net framework version ...