質問

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>

この関連投稿では同じソリューションを使用しています: '操作ポストバック中のオブジェクトのエラーの現在の状態のため、無効です

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top