Question

j'essaie d'utiliser un contrôle de téléchargement de fichier depuis la bibliothèque de contrôles obout, je l'aime vraiment beaucoup et je pense que c'est assez lisse sans flash! ..

J’ai téléchargé l’ensemble du programme d’installation, joué avec les paramètres des exemples et fait en sorte que le contrôle fonctionne exactement comme je le voulais.

J'ai créé une toute nouvelle application Web ins vs2008, et inclus le fichier web.config, les dll et les dossiers avec code de style, ainsi que la page aspx que j'avais modifiée pour obtenir le résultat souhaité.

J'ai construit le nouveau projet et l'ai exécuté, le contrôle chargé et fonctionne correctement.

Maintenant, je veux utiliser ceci dans le projet déjà existant sur lequel je travaille, donc j'ai copié les valeurs web.config, les dll et les dossiers avec le code de style et la page aspx que j'ai modifiés ..

Je les ai placés aux mêmes endroits que l’autre projet, les ai construits et ils ont exécuté la page Tout ce qui est chargé cependant, lorsque je clique sur un bouton, j’ai une erreur webresource.axd, 2 en fait, les deux avec un cryptage à la fin.

après quelques recherches, il semble que webresource.axd puisse être utilisé pour charger de manière dynamique des fichiers javasript et css, etc. ... Je suppose donc que le contrôle utilise à ce stade le moyen caché d’inclure les fichiers javascript nécessaires. .. et ses défauts sur ceux-ci .. qui me déconcerte.

J'ai tout supprimé de mon projet et il échoue toujours. J'ai trouvé un article indiquant qu'il pourrait s'agir de la configuration IIS du site. J'ai donc vérifié, j'ai le mappage vers le fichier .net 2.0 lib, avec l'extension axd .. donc je doute que ce soit le problème, cependant j'ai supprimé et recréé le site IIS .. et cela ne fonctionne toujours pas ...

J'ai également inclus cette ligne dans la configuration Web.

<add verb="GET" path="WebResource.axd" type="System.Web.Handlers.AssemblyResourceLoader" validate="true"/>

cela aussi n'a pas semblé aider ..

Quelqu'un sait-il où je peux aller avec ça? ...

EDIT: Je suis tombé sur cela dans l'observateur d'événements.

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.

le global.asax a des fonctions de début et de fin de session ainsi que des fonctions de début et de fin d'application .. y a-t-il un moyen de simplement dire si la requête provient d'un axd faire quelque chose de différent ou ne pas exécuter ces fonctions personnalisées?

FIXED:

dans la page globale.asax ..

    Sub Application_OnPostRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs)
select case requestedPageName
   case "webResource.axd"
    exit sub

cela a réglé le problème!

Était-ce utile?

La solution

Le " Application_OnPostRequestHandlerExecute " La méthode est exécutée à chaque demande que gère .Net. Ceci inclut "webresource.axd". Dans cette méthode, vérifiez si l'URL actuelle est "webresource.axd". Si c'est le cas, n'utilisez pas la session.

Autres conseils

J'utilise un Spread Spread qui affiche une seule page avec beaucoup de lignes. Voici la version c # de ce que j'ai essayé en premier (cela n'a pas fonctionné):

Global.asax:
    protected void Application_OnPostRequestHandlerExecute(object sender, EventArgs e  )
    {
        String requestedPageName = VirtualPathUtility.GetFileName(Request.FilePath);
        switch (requestedPageName)
        {
            case "WebResource.axd":
                return;
        }
    }

La solution à ce lien a fonctionné pour moi, mais j'ai dû augmenter le nombre: 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>

Cet article associé utilise la même solution: 'Opération n'est pas valide en raison de l'état actuel de l'objet 'erreur lors de la publication

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top