WebResource.axd? - 500 - внутренняя ошибка сервера
Я пытаюсь использовать элемент управления загрузкой файлов из библиотеки управления obout, мне очень нравится, и я думаю, что он довольно гладкий без какой-либо вспышки!..
Я загрузил весь установщик, поиграл с настройками в примерах и сделал управление таким, каким я хотел.
я создал новое веб-приложение ins vs2008 и включил web.config, dll и папки с кодом стиля, а также страницу aspx, которую я настроил, чтобы получить желаемый результат.
Я построил новый проект и запустил его, элемент управления загружен, и работает нормально.
Теперь я хочу использовать это в уже существующем проекте, над которым я работаю, поэтому я скопировал значения web.config, dll и папки с кодом стиля и страницей aspx, которую я настроил...
я поместил их в те же места, что и в другом проекте, собрал его и запустил страницу... все загружено, однако, когда я нажал на кнопку, я получил ошибку webresource.axd, на самом деле 2, оба с шифрованием в конце.
после некоторого исследования, похоже, что webresource.axd может использоваться для динамической загрузки файлов javascript, css и т. д.... так что я думаю, что в данный момент элемент управления использует это как скрытый способ включения необходимых ему javascript-файлов... и его провал на тех включает в себя.. что ставит меня в тупик.
Я удалил все из моего проекта, и он все еще не работает, я нашел статью, в которой говорилось, что это может быть конфигурация сайта iis, поэтому я проверил, у меня есть сопоставление с файлом lib.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
это исправлено!
3 ответа
Метод Application_OnPostRequestHandlerExecute запускается для любого запроса, который обрабатывает.Net. Это включает в себя "webresource.axd". В этом методе проверьте, является ли текущий URL-адрес "webresource.axd". Если это так, то не используйте сеанс.
В моем случае в веб-каталогах были вложенные папки с именами «ScriptResource.axd» и «Telerik.Web.UI.WebResource.axd» с каким-то файлом web.config. Решением было удаление вложенных папок.
Я использую 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>
В этой связанной публикации используется то же решение: ошибка "Операция недопустима из-за текущего состояния объекта" во время обратной передачи