Webresource.axd? -500内部サーバーエラー
-
05-07-2019 - |
質問
oboutコントロールライブラリのファイルアップロードコントロールを使用しようとしていますが、本当に気に入っています。フラッシュなしで非常に滑らかだと思います。..
iはインストーラー全体をダウンロードし、サンプルの設定を再生し、コントロールを思いどおりに動作させました。
iは、vs2008でまったく新しいWebアプリケーションを作成し、web.config、dll、およびスタイルコードを含むフォルダー、および目的の出力を提供するために調整したaspxページを含めました。
iは新しいプロジェクトをビルドし、それを実行し、コントロールをロードし、正常に動作します。
今、私が取り組んでいる既存のプロジェクトでこれを使用したいので、web.config値、dll、およびフォルダをスタイルコードとコピーしたaspxページでコピーしました。
iは、他のプロジェクトと同じ場所にそれらを配置し、ビルドしてページを実行しました。 しかし、ボタンをクリックしたときにすべてが読み込まれましたが、実際にはwebresource.axdエラーが発生しました2、両方とも最後に暗号化されています。
いくつかの調査を行った後、webresource.axdを使用してjavasriptファイルやcssファイルなどを動的にロードできるように見えます。この時点での私の推測では、コントロールはこれを必要なjavascriptファイルを含める隠れた方法として使用しています..そして、それらの失敗は、私を困惑させます。
iは私のプロジェクトからすべてを削除しましたが、それでも失敗します。サイトのiis構成である可能性があるという記事を見つけたので、チェックしました。.net2.0 libファイルへのマッピングがあります。拡張子がaxdなので、それが問題だったのではないかと思いますが、iisサイトを削除して再作成しました。
iは、この行をWeb構成にも含めています。
<add verb="GET" path="WebResource.axd" type="System.Web.Handlers.AssemblyResourceLoader" validate="true"/>
これも役に立たなかったようです。
これでどこに行けばいいか誰にもわかりますか?...
編集: イベントビューアーでこれに遭遇しました。
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 05/05/2009 2:38:16 PM
Event time (UTC): 05/05/2009 6:38:16 PM
Event ID: 8579dbce2f5844169b1740bb95ebffb1
Event sequence: 8
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1/Root/SVN_WORKSPACE/WWWROOT/WorkEstimateSystem-12-128860222914549340
Trust level: Full
Application Virtual Path: /SVN_WORKSPACE/WWWROOT/WorkEstimateSystem
Application Path: c:\inetpub\wwwroot\SVN_WORKSPACE\WWWROOT\WorkEstimateSystem\
Machine name: GREGE6500
Process information:
Process ID: 2276
Process name: aspnet_wp.exe
Account name: GREGE6500\ASPNET
Exception information:
Exception type: HttpException
Exception message: Session state is not available in this context.
Request information:
Request URL: http://localhost/SVN_WORKSPACE/WWWROOT/WorkEstimateSystem/WebResource.axd?d=gPWI1Nyst2kh_ORsvV-AHCh4GSmizSjDuHRCpBgAKBsmi1Zr6e44K950Zcfsdc4p2GuNTPmRl4yAADV0USSNLFQQ7sk-iY1WVt4JJWJE_yg1&t=633771228432707325
Request path: /SVN_WORKSPACE/WWWROOT/WorkEstimateSystem/WebResource.axd
User host address: 127.0.0.1
User:
Is authenticated: False
Authentication Type:
Thread account name: GREGE6500\ASPNET
Thread information:
Thread ID: 8
Thread account name: GREGE6500\ASPNET
Is impersonating: False
Stack trace: at System.Web.HttpApplication.get_Session()
at GlobalClass.CURRENT_EMPLOYEE_ID()
at GlobalClass.checkLogin(String pagerequested)
at GlobalClass.Application_OnPostRequestHandlerExecute(Object sender, EventArgs e)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Custom event details:
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
global.asaxには、セッションの開始および終了関数と、アプリケーションの開始および終了関数があります..要求がaxdから来ている場合、何か別のことを行うか、これらのカスタム関数を実行しないかを簡単に言う方法はありますか?
修正済み:
global.asaxページ内..
Sub Application_OnPostRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs)
select case requestedPageName
case "webResource.axd"
exit sub
これで修正されました!
解決
&quot; Application_OnPostRequestHandlerExecute&quot;メソッドは、.Netが処理する要求に対して常に実行されます。これには、「webresource.axd」が含まれます。そのメソッドでは、現在のURLが「webresource.axd」であるかどうかを確認します。その場合は、セッションを使用しないでください。
他のヒント
多くの行がある1つのページのみを表示するFarpoint Spreadを使用しています。これは私が最初に試したもののc#バージョンです(動作しませんでした):
Global.asax:
protected void Application_OnPostRequestHandlerExecute(object sender, EventArgs e )
{
String requestedPageName = VirtualPathUtility.GetFileName(Request.FilePath);
switch (requestedPageName)
{
case "WebResource.axd":
return;
}
}
このリンクの解決策はうまくいきましたが、数値を大きくする必要がありました。 http:// www。 acumen-corp.com/Blog/tabid/298/EntryId/8/ASP-NET-Error-ThrowIfMaxHttpCollectionKeysExceeded.aspx
Web.Config:
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="5000" />
</appSettings>
この関連投稿では同じソリューションを使用しています: '操作ポストバック中のオブジェクトのエラーの現在の状態のため、無効です