2011-06-17 132 views
2

需要首先解釋歷史,然後我們迄今所做的...可能有點長。非常奇怪的訪問問題

我們繼承了一個.net Web應用程序,它使用Infragistics Web Controls與SQL通信。

已經在開發盒上測試了一切,效果很好。已經推出了一個測試盒,所有的作品都很棒。然後,已經推出到生產服務器,現在我們遇到問題.....

主要問題是一個頁面有幾個下拉列表,你從一個列表中選擇一個值,它會談到SQL框,然後填充字段,其中一個是Infragistics Web網格。現在,從下拉列表中選擇一個值向SQL服務器發送一個查詢,並且我知道這是工作並返回數據,因爲網格柵格正在填充返回數據之前頁面上的所有其他字段來自查詢。這將SQL方面計算在等式之外。

的網頁拋出2個錯誤:

「Sys.InvalidOperationException:型號Infragistics.Web.UI.ControlMain已經註冊的類型可以定義multuiple倍或定義它可以將腳本文件已經被加載,一個可能的原因是在部分更新期間改變了設置。「

「Sys.ArgumentTypeException:類型Infragistics.Web.UI.WebCurrencyEditor'的對象不能轉換TP型 '' 參數名:例如」

所以,我們將相同的代碼推出到三臺服務器,並且只在嘗試訪問生產服務器上的頁面時失敗。首先你會想到的是 - 權限。

下一步是在另一臺機器(桌面)上嘗試使用我的詳細信息,並且仍然得到相同的錯誤 - 所有Dev和Test都很好,但不在Prod上。下一步,嘗試其他機器上的其他用戶。點擊並錯過 - 有些用戶無法運行Prod頁面,其他用戶可以。

所以,從這裏,看看所有的AD團體,誰可以進來的人,並與我的相比。將我添加到我沒有的所有組中,然後再試一次 - 相同結果,如果沒有上述錯誤,則無法加載頁面。因此,我的同事可以從他的機器上得到它,來到我的,登錄,並且可以很好地達到它。我去他的機器,不能去它,我也不能從我的機器。

下一步 - 我將RDC導入測試服務器,並且我可以訪問生產框中的網站。我將RDC放入DEV服務器,並且我可以訪問生產箱上的網站。因此,我可以計算出SQL方面,我可以假設代碼是很好的,因爲適用於其他人。權限已被應用,有關AD組與其他可以訪問它的組相同...

我沒有做什麼?當然,有一件事情我很容易做不到...有什麼建議嗎?對於冗長的帖子抱歉,但解釋了我們試圖解決這個問題的程度!

回答

1

我已經包含指向文章的鏈接,該文章指出了您在負載平衡/服務器場方案中遇到的錯誤的一個可能原因:AjaxControlToolkit & ScriptResource.axd load balancer (web farm) related issue

無論你的問題是否與此有關,直接原因是ScriptManager被欺騙了兩次註冊相同的腳本。我不認爲這與直接權限有關。但是會有一些潛在的問題:希望不會有Infragistics控制自己的bug。

我要做的第一個明顯的建議是確保所有服務器都運行相同(也可能是最新版)的AjaxControlToolkit。