2011-05-24 93 views
2

我在任何地方都搜索解決方案以解決我的問題,但我無法找到它。我已經構建了一個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'部分出現錯誤。

任何幫助,將不勝感激。

感謝,

克里斯

回答

3

我找到了解決我的問題。我發現我可以讓VS從IIS運行調試,當我創建虛擬目錄時,告訴我需要在服務器上安裝ASP.NET 4。我認爲通過檢查添加Windows功能對話框中的ASP.NET複選框,我已經做到了。但它只安裝了.NET 2版本。所以在網上尋找這個新問題後,我發現我需要運行命令

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -i 

然後一切正常。

Chris

相關問題