2010-03-22 62 views
1

我有一個WCF服務和一個Silverlight應用程序,它們在部署到IIS服務器時工作得很好。如何針對部署的服務[跨域問題]調試Silverlight應用程序?

我想調試在Visual Studio中開發機器上的Silverlight應用程序,但有它跟服務器上部署的實際服務,而不是它的開發機器上的本地實例。

我期待只是能夠按F5在Visual Studio。當然,我得到一個4004異常,抱怨服務URL(http://iisserver/.../service.svc)正在以跨域方式訪問。

在域根(http://iisserver/)我置於全開的crossdomain.xml和clientaccesspolicy.xml文件。我仍然得到例外。

當我看到在Web開發助手或MS網絡監視器HTTP流量,我沒有看到請求到服務器無論是跨域文件。

缺少什麼我在這裏?

回答

1

一個選項(如果您不想弄清楚爲什麼它沒有獲得正確的服務)是從遠程IIS服務器啓動Silverlight應用程序,然後從Visual Studio中使用適當的Silverlight解決方案加載,附加到您要調試的瀏覽器進程(調試/附加到進程)。然後你可以設置斷點或其他你需要做的事情。作爲參考,如果您使用的是Internet Explorer,則會注意到有兩個iexplore.exe進程。附加到具有「Silverlight」作爲調試器選項的那個。

另一種方法是要弄清楚爲什麼你的本地客戶端沒有調用遠程服務器,但是這可能會非常複雜。我推測你已經檢查過你的代碼和配置,以確保它實際上指向你希望它指向的服務器和端口?將你的配置從dev移動到prod時導致端口錯誤是導致此特定問題的常見原因。