我在任何地方都搜索解決方案以解決我的問題,但我無法找到它。我已經構建了一個Silverlight 4導航應用程序,並且正在使用RIA服務來處理自定義實體(實質上運行COM dll的服務器端調用)。在我的調試環境,一切工作正常,但是當我嘗試部署到IIS7(在開發計算機上),作爲一個網站,它呼籲實體獲取查詢時給了我以下錯誤:錯誤404 - 在Silverlight RIA服務調用中找不到文件
Load operation failed for query 'GetNewHWCoil'. The remote server returned an error: NotFound.
at System.ServiceModel.DomainServices.Client.OperationBase.Complete(Exception error)
at System.ServiceModel.DomainServices.Client.LoadOperation.Complete(Exception error)
at System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult)
at System.ServiceModel.DomainServices.Client.DomainContext.<>c__DisplayClass1b.<Load>b__17(Object)
一切我在網上發現說檢查IIS上的身份驗證區域,並確保它只設置爲匿名身份驗證,它是。他們還說要啓用WCF日誌記錄,當我將必要的文本添加到web.config文件時,我仍然沒有得到任何日誌。他們還說使用Fiddler2來跟蹤HTTP調用,但是我只在那裏得到了一個404錯誤,這個textview給了我標準的IIS文件找不到網站。我無法弄清楚如何調試這個問題。
Silverlight應用程序需要調用一組第三方COM DLL來計算水線圈的性能。由於我不想讓應用程序運行OOB,(這會否定它作爲一個Web應用程序而不是WPF應用程序的全部意義)我有ASP.net項目使用自定義實體與dll進行交互。
函數(或查詢作爲RIA服務調用它)GetNewHWCoil位於的DomainService類,並使用此代碼:
Public Function GetNewHWCoil() as HWCoil 'HWCoil is a custom object
If bRanCalc then 'bRanCalc is a global boolean variable that gets set to true if the calc call on the dlls have been made
Return mHWCoil 'global copy of the calculated coil object
bRanCalc = False
else
Return New HWCoil
end if
End Function
錯誤運行在任何計算應該叫過,所以假設它在'Return New HWCoil'部分出現錯誤。
任何幫助,將不勝感激。
感謝,
克里斯