2009-11-09 153 views
0

我在將RIA服務/ Silverlight 3部署到臨時環境時遇到困難。.Net Ria服務部署

這是我的情況: 1)我正在使用RIA進行身份驗證。這在我的開發機器和分段環境中都能正常工作。

2)我創建了一個自定義的LinqToEntities RIA服務來從數據庫中獲取數據到我的應用程序中。當我執行本地構建時,此服務正常工作,但不能在登臺服務器上工作。

  • 當客戶端打電話給它時,服務器端RIA代碼永遠不會被調用。
  • RiaContext似乎是初始化好的,即它不會拋出異常。
  • 我使用與Context.Load(qry);相似的代碼將數據放入實體。 LoadOperation的完整事件觸發,但沒有加載數據,服務器端方法從未被調用過。

關於什麼可能是錯誤的任何想法?

回答

1

我會檢查,以確保您有:

  1. 在你的web.config正確的連接字符串。
  2. 該應用程序被配置爲在有權訪問數據庫的服務帳戶下運行。

你的Context.Load應該傳遞一個完整的事件處理程序,並且在那個處理程序中你應該檢查LoadOperation.HasError是否爲false。如果出現問題,將不會拋出異常,您必須明確檢查錯誤。

+0

感謝您的回覆。我在LoadOperation.Error.Message中得到了這個:「拋出了'System.Windows.Ria.Data.EntityOperationException'類型的異常。」 我的數據庫是Oracle,我正在使用DevArt組件來獲取實體。所以我不認爲這個錯誤與數據庫配置有關。有關如何拋出錯誤的其他建議?該代碼在開發機器上工作,但不在部署到臨時服務器時工作。 – Gus 2009-11-09 21:21:45

+0

您應該在Error屬性中檢查該異常的內部異常。如果您看不到內部異常請嘗試此修復:http://blog.davidyack.com/journal/2009/9/10/ria-services-finding-the-innerexception.html – Bryant 2009-11-09 21:48:22

+0

只是一個更新 - 我是能夠通過追蹤內部異常來解決問題。在服務器上運行IE並附加到該進程時,我只能做到這一點。事實證明,我需要在服務器上安裝更多,只需要我的第三方ORM工具所需的運行時。再次感謝您的幫助。 – Gus 2009-11-10 20:33:01