我正在尝试使用 obout 控件库中的文件上传控件,我真的很喜欢它,并且认为它非常流畅,没有任何 flash!..
我下载了整个安装程序,使用了示例中的设置,并使控件完全按照我想要的方式运行。
我在 vs2008 中创建了一个全新的 Web 应用程序,其中包括 web.config、dll 和带有样式代码的文件夹,以及经过调整以提供所需输出的 aspx 页面。
我构建了新项目,并运行它,加载了控件,并且工作正常。
<小时/>现在我想在我一直在处理的现有项目中使用它,所以我复制了 web.config 值、dll 以及包含样式代码和我调整的 aspx 页面的文件夹..
我将它们放在与其他项目相同的位置,构建它并运行页面.. 所有内容都已加载,但是当我单击按钮时,我收到了 webresource.axd 错误,实际上是 2 个错误,最后都进行了加密。
经过一些研究,看起来 webresource.axd 可用于动态加载 javasript 和 css 文件等...所以我现在的猜测是控件使用它作为隐藏方式来包含它所需的 javascript 文件..它在这些方面的失败包括..这让我感到困惑。
我已经从我的项目中删除了所有内容,但它仍然失败,我发现一篇文章指出它可能是站点的 iis 配置,所以我检查了,我有到 .net 2.0 lib 文件的映射,使用 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 有一些 session 启动和结束函数以及应用程序启动和结束函数。有没有什么方法可以简单地说请求是否来自 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”。如果是,则不要使用该 session 。
关于asp.net - 网络资源.axd? - 500内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/826031/