Analytics

2011年4月11日 星期一

[VISUAL STUDIO]解決 錯誤: 'RSClientController' 未被定義(Resolve the error: 'RSClientController' is not defined.)


問題

在X32的Windows7底下開發ReportViewer的程式,在編譯時期都很正常,卻IIS上執行發生錯誤:
錯誤: 'RSClientController' 未被定義




解決方法
原因:
在 IIS7上ASP.NET有兩種模式,Classic Mode及Integrated Mode,web.config裡HttpHandler等設定也有兩區
<System.Web>是给Classic Mode用的
<System.WebServer>是给Integrated Mode用的。
VS2008自動加入HttpHandler設定只改了System.Web這一部分
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
validate="false" />

,但卻未在 System.WebServer區塊新增设定,而我的WebApp設定是用Integrated Mode執行,於是等於沒註冊Reserved.ReportViewerWebControl.axd,所以會發生錯誤.
在<System.WebServer>區塊下新增
<add name="Reserved-ReportViewerWebControl-axd" path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" resourceType="Unspecified" preCondition="integratedMode" />

沒有留言:

熱門文章