1

我正在使用WCF的Silverlight應用程序。我需要將我的WCF項目與將承載我的Silverlight項目的ASP.Net應用程序分開。我正在尋找一些關於如何組織我的解決方案和其他人在調試和部署過程中遇到的問題的指導。在Silverlight中使用單獨的WCF項目

具體我的問題是

  1. 我應該使用WCF服務?(A WCF項目,自託管的WCF服務的ASP.NET項目,別的東西)

    什麼類型的項目
  2. 什麼,我需要這樣得到它,這樣,當我按下F5我可以調試我的Silverlight項目和我的WCF服務?我需要一個跨域策略來調試這個東西嗎?

爲什麼我想這樣做的一些背景資料:

我有傳統的Web應用程序,我逐漸轉換到Silverlight應用程序。因爲它是一個大型的Web應用程序,所以它的一些功能將在其他功能之前轉換爲Silverlight。

遺留的Web應用程序有很多在它的代碼,不再使用。很多不再使用的代碼引用了第3部分程序集。這就是爲什麼我想擺脫舊的Web應用程序。所以顯然我不想託管WCF服務,這些服務將保存在其中的未來版本中。這是我想讓WCF項目分開的原因。

回答

4

我們正在做同樣的事情。

  1. 我們正在使用WCF項目,以防萬一我們必須改變未來的託管方式。 (I.E.不再使用IIS)

2.a.您可以爲您的Silverlight項目和您的wcf項目提供解決方案。 Silverlight項目將在解決方案中提供對wcf服務的服務引用。這使您可以使用F5進行調試。但是,當您部署時,您將不得不更改app.config服務URI以引用您的生產位置。

2.b.如果完全限定的域名對於wcf服務和Silverlight應用程序不同,則只需要跨域策略文件。我們的情況恰恰不同。以下是關於何時使用策略文件的絕佳文章:Clicky

祝你好運!

+1

我已經得到了整個事情的工作,但我不能沒有clientaccesspolicy調試,因爲asp.net開發服務器無法運行客戶端,並在同一端口上的服務。 – Gus 2009-09-11 21:19:52

+0

這很有道理。很高興聽到你的工作。 – 2009-09-14 17:23:52

+1

嗨awhite,我試圖達到你所說明的,但我每當我打電話給WCFService它會引發crossdomain異常。 我嘗試了一些這個嘗試讓它工作沒有運氣。你可以提供一些關於如何設置Web項目和服務的細節,以便他們可以相互交流。 謝謝 – Oliver 2010-02-24 10:00:27

0

請記住,當您準備部署時,如果您的服務將託管在與您的應用程序不同的計算機上,則需要先部署該服務。然後重新配置您的服務參考,最後在部署前重新編譯Silverlight。否則,您的Silverlight應用程序將在您的本地計算機上查找服務,而不是在您部署它的位置。