大家遇到的問題可能是登錄沒反應,這時,大家要充分利用調試工具,調試工具可能會提示下面錯誤:
未能連接到 net.tcp://swk-pc:4502/chatservice.svc。連接嘗試的持續時間為 00:00:00.3880222。TCP 錯誤代碼 10013: 試圖以其訪問權限所禁止的方式訪問套接字。原因可能是,試圖以跨域的方式訪問某服務,而該服務的配置不支持跨域訪問。您可能需要與服務的所有者聯系,以公開通過 HTTP 的套接字跨域策略,並在允許的套接字端口范圍 4502-4534 之內承載該服務。
1.大家知道這個項目分客戶端項目和服務端項目,源代碼已經測試過不會出現這種問題,所以我們可以斷定是配置問題,首先我們查看客戶端配置:
客戶端配置文件ServiceReferences.ClientConfig里net.tcp://swk-pc這里的swk-pc改成你自己的網站ip,重新調試,如果還是此問題,我們可以排除客戶端錯誤,接着看服務端配置。
2.在瀏覽器中瀏覽chatservice.svc文件,如果能正常訪問,則表示IIS配置沒問題,如果出現協議不匹配等錯誤就可以把錯誤推到IIS配置上;
3.如果IIS配置沒問題,但是還提示上面的錯誤,這就是跨域文件問題,我在這里在提醒大家一次,比如我們的IIS目錄指向chat.Web項目,瀏覽端口是809,我們的IIS里還有另一個網站使用80端口,這時,我們就要把跨域文件clientaccesspolicy.xml放到使用80端口的網站下,這是由於SilverLight會首先到80端口下檢查跨域文件是否允許它訪問。