Вопрос

Я пытаюсь использовать элемент управления загрузкой файлов из библиотеки управления, мне он очень нравится, и я думаю, что он довольно удобен без какой-либо вспышки!..

Я скачал весь установщик, поигрался с настройками в примерах и сделал так, как мне хотелось.

я создал совершенно новое веб-приложение ins2008 и включил в него web.config, dll и папки с кодом стиля, а также страницу aspx, которую я настроил, чтобы получить желаемый результат.

Я создал новый проект и запустил его, элемент управления загрузился и работает нормально.


теперь я хочу использовать это в уже существующем проекте, над которым я работаю, поэтому я скопировал значения web.config, библиотеки DLL и папки с кодом стиля и страницу aspx, которую я настроил.

я поместил их в те же места, что и в другом проекте, построил его и запустил страницу..все загрузилось, однако, когда я нажал кнопку, я получил ошибку webresource.axd, на самом деле 2, обе с шифрованием в конце.

после некоторых исследований выяснилось, что webresource.axd можно использовать для динамической загрузки файлов javasript, css и т. д.Итак, я предполагаю, что на данный момент элемент управления использует это как скрытый способ включения необходимых файлов JavaScript..и его неудача в том числе..что меня сбивает с толку.

Я удалил все из своего проекта, но он все еще терпит неудачу. Я нашел статью, в которой говорилось, что это может быть конфигурация iis сайта, поэтому я проверил, у меня есть сопоставление с файлом библиотеки .net 2.0 с помощью axd расширение..поэтому я сомневаюсь, что это была проблема, однако я удалил и воссоздал сайт iis..и все равно не работает...

я также включил эту строку в веб-конфигурацию..

<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

это исправило!

Это было полезно?

Решение

Метод «Application_OnPostRequestHandlerExecute» запускается всегда, когда обрабатывается запрос, который обрабатывает .Net.Сюда входит «webresource.axd».В этом методе проверьте, является ли текущий URL-адрес «webresource.axd».Если это так, то не используйте сеанс.

Другие советы

Я использую разворот Farpoint, который показывает только одну страницу с множеством строк.Вот версия С# того, что я попробовал первым (не сработало):

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