2010-12-17 171 views
1

這個問題與我之前發佈的另一個問題How to set up RIA services with Silverlight 4.0 and without EF有關。如何強制SilverLight在生成的代碼文件夾中生成代碼?

長話短說,我們實際上試圖按邁克爾馬多克斯所述的方式實施解決方案。但是,當我們在我們的設置中第一次嘗試他的解決方案時,由於某種未知的原因,它不起作用。

現在我已經給了它另一個去,我已經設法讓它在我們當前的解決方案設置內工作,但我不完全確定如何,這就是爲什麼我發佈這個問題。所以這裏是我承擔的步驟:

我創建了一個新的空白SL項目,並按照Michael的指示實施它,並發現它工作。

然後,我嘗試將解決方案調整到我現有的SL應用程序,但我無法通過「VanillaDomainContext」從SL應用程序訪問遠程方法(如下所示),儘管「VanillaDomainService」會在Intellisense中出現將該方法作爲鏈接文件引用。

System.ServiceModel.DomainServices.Hosting.EnableClientAccess()] 
public class VanillaDomainService : 
       System.ServiceModel.DomainServices.Server.DomainService 
{ 
    public int ReturnInteger100() 
    { 
     return 200; 
    } 
} 

經過雙重檢查的事情,我決定我們exisiting解決方案中添加一個新的SL應用程序,我沒有問題,能夠訪問這些遠程方法,使用「VanillaDomainContext」從新建SL應用。

最後,我決定在我現有的SL應用程序中再次嘗試一下,看看這次我能夠使用「VanillaDomainContext」。

所以,真的我的問題是在那裏發生了什麼?我的猜測是,「VanillaDomainContext」沒有得到自動生成,事實上,在我現有的解決方案中創建新的SL應用程序之前,我已經通過查看生成的代碼進行了確認。你能幫我解釋一下我做錯了什麼嗎?儘管我是Silverlight的新手,但這裏似乎有點太「魔力」了。

TIA,

大衛

回答

2

我有類似的經歷與RIA服務的巫術。我會仔細檢查Silverlight項目是否通過項目屬性連接到RIA服務項目。這在Silverlight標籤下,並被稱爲WCF RIA服務鏈接。除此之外,我發現在Silverlight和RIA服務項目上運行一次清理,然後進行重建似乎有所幫助。如果這不起作用,我會顯示項目中的所有文件,刪除Generated_Code文件夾,然後重新構建它。這通常會將一切恢復正常。

+0

嗨喬希,我們實際上已經完成了你所建議的確保它連接到RIA服務的方面。話雖如此,謝謝您提出的進一步建議,我認爲這將會使我今後減少頭痛。 – DavidS 2010-12-17 15:15:45

0

您可以通過您的services.web文件夾刷新RIA服務。
右鍵單擊您的Services Web文件夾並重新選擇RIA服務。
然後保存並刷新解決方案。

+0

這不提供問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 – 2015-03-16 11:57:45

+0

@IlijaDimov,這是一個答案。閱讀第一句話。它解釋瞭解決他們的問題所採取的步驟。 – Andy 2015-03-16 14:07:55