我有一个ASP.NET 2.0应用程序,在我们的本地环境中工作正常.发布到测试服务器时,我们在服务器上出现间歇性错误.
这是最常见的:
填充无效,无法删除.描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.Security.Cryptography.CryptographicException: 填充无效,无法删除.
来源错误:
在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.
堆栈跟踪:
[CryptographicException:填充无效,无法删除.]
System.Security.Cryptography.RijndaelManagedTransform.DecryptData(Byte [] inputBuffer,Int32 inputOffset,Int32 inputCount,Byte []&outputBuffer,Int32 outputOffset,PaddingMode paddingMode,Boolean fLast)+1545747
System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte [] inputBuffer,Int32 inputOffset,Int32 inputCount)+257
System.Security.Cryptography.CryptoStream.FlushFinalBlock()+30 System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt,Byte [] buf,Byte []修饰符,Int32 start,Int32 length,Boolean useValidationSymAlgo)+164
System.Web.UI.Page.DecryptString(String s)+83
System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context)+148
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+358 System.Web.HttpApplication.ExecuteStep(IExecutionStep step ,Boolean&completedSynchronously)+64
这发生在对特定WebResource.axd请求的请求上.
我们看到的另一个错误是:
验证视图状态MAC失败.如果此应用程序由Web场或群集托管,请确保配置指定相同的validationKey和验证算法.AutoGenerate不能在群集中使用.描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.Web.HttpException:viewstate MAC验证失败.如果此应用程序由Web场或群集托管,请确保配置指定相同的validationKey和验证算法.AutoGenerate不能在群集中使用.
发布表单时偶尔会发生此错误.
在你跳入并告诉我这个错误的明显(通常)答案之前,请考虑一下:
aspnet_regiss -ga <username>
在服务器上运行.没有效果.我在ASP.NET 3.5(AJAX)Web应用程序内的特定WebResource.axd调用上收到404 HTTP状态错误(未找到).我猜错误是因为bin文件夹/ GAC中缺少特定的引用程序集.但我不知道哪个,因为请求资源的页面非常复杂(我正在使用第三方控件和ASP.NET Ajax.)
是否可以从查询的加密"d"查询字符串参数中获知,如:
.../WebResource.axd?d=...
Run Code Online (Sandbox Code Playgroud)
哪个程序集应该创建内容并且可能丢失?
注意:还有其他WebRequest.axd调用成功执行.
我不时地在我的制作网站上发现这个问题,它让我绝对难过......
我的应用程序在开发和生产方面都很完美,但是我时不时地从我的全局错误处理中收到一封电子邮件:
消息:这是一个无效的Web资源请求.
URL:/WebResource.axd
(这意味着由于某种原因请求了webresource.axd 而没有指定任何GET参数)
我自己没有对webresource.axd做任何事情,我没有通过它获得任何资源,它只是由.Net自动使用它来为它提供验证器的典型JS等.
知道为什么没有参数可能会收到这个请求吗?有没有遇到过这个?
我在IIS7上运行我的ASP.NET应用程序时收到此错误.我已经尝试过做它应该做的事情,但它没有帮助.
必须在配置中注册WebResource.axd处理程序才能处理此请求.
> <!-- Web.Config Configuration File -->
>
> <configuration>
> <system.web>
> <httpHandlers>
> <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" />
> </httpHandlers>
> </system.web>
> </configuration>
Run Code Online (Sandbox Code Playgroud)
我正在使用一点点AJAX,这是我认为导致问题的原因.有没有人遇到过这个?
原始问题:
WebResource.axd url生成有一个奇怪的错误.(它似乎与相当常见的"WebRsource.axd Padding无效且无法删除"问题有关).
我们有一个ASP.NET网页,在创建时,会向WebResource.axd添加一个脚本引用.
在这种情况下,我们看到WebResource.axd链接偶尔会变成某个点的垃圾,取而代之的是看似javascript的东西.更糟糕的是,网址生成失败似乎是不一致的.
在我们的例子中,链接应该(而且通常不会像):
/WebResource.axd?d=D-wd7RbHCvSp_p0mHAmE4g2&t=633464867255568315
Run Code Online (Sandbox Code Playgroud)
一切都很好.但是,我们收到用户记录的错误...以及他们尝试访问的网址(在一种情况下):
/WebResource.axd?d=D-wd7RbHCvS/../../images/icons/Ico_resize.gif')}}function%20ShowFilter_Manufacturer(){var%20div.......
Run Code Online (Sandbox Code Playgroud)
[该链接中剩余的已编码的javascript已被删除为无关]
更奇怪的是,我们从同一个用户那里快速连续获得了一些这些用户,他们显然正在尝试重新加载页面...每个网址略有不同.
/WebResource.axd?d=D-wd7RbHCvS<garbage>
/WebResource.axd?d=D-wd7RbHCvSp<garbage>
/WebResource.axd?d=D-wd7RbHCvSp_<garbage>
Run Code Online (Sandbox Code Playgroud)
在某些情况下,垃圾是编码的JavaScript,我已经看到了网址的一部分...完全空的参数字符串...我没有看到明显的模式.
顺便说一下,如果它是相关的,应该注意的是,我不相信这个WebResource不是一个除了在页面上包含某些功能时由.NET自动包含的股票WebResource ......在这种情况下,一个字段验证器.查看实际WebResource.axd的内容,可以看到非常标准的Javascript函数集,这些函数似乎是为处理泛型.NET事件而设计的.不是我们创造的任何东西.
有没有人见过这样的东西?(或者更好,是否有人理解为什么会发生这种情况,并提出消除它的方法?)
编辑0:一些其他信息:
第1项:在回答一个答案时,我们确保我们的脚本包含CDATA标签,因为我们的doctype是xhtml transitional:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)
不幸的是,尽管我们寄予厚望,但它似乎并没有解决问题.我们已经更多地注意到IE 8作为一个浏览器,这可以让人相信这是与浏览器相关的想法...也许是浏览器解析流的方式......但为什么我们会得到微妙的不同响应随后的尝试让我感到困惑.
第2项:事实证明,省略的部分似乎是相当规则的块.有人报告说他看到丢失了1k或4k的区块,而我(到目前为止......我只看了两个案例)会同意(我的两个数据都丢失了4096字节).
.嗨,我们正在用C#.net作为语言构建一个ASP.NET应用程序.
在这里,当IIS呈现页面时,当我们使用YSlow工具分析页面代码时,它会显示许多WebResource.axd和ScriptResource.axd文件(因为我们在页面中引用了许多脚本文件).
服务器端代码执行速度很快,但加载这些.axd文件需要时间.如果有优化或抑制这些axd文件的方法,那么请您指导我吗?
如果您还可以提供参考文档或Web引用(如果需要),那将会很棒.
非常感谢,问候.
我正在尝试导出.dll中的控件库,供办公室中的其他开发人员使用.
我原创的解决方案如下所示:
解决方案1:
- Mri.Controls(类库)
- Mri.FmTool(Web应用程序)
Mri.FmTool引用了Mri.Controls.
在Mri.Controls里面,我有一些javascript WebResources.Mri.FmTool似乎很好地阅读了WebResources,当Mri.FmTool网络应用程序运行时,我所有的javascript网络资源都会出现.
所以,现在我正在尝试创建一个简单的解决方案来使用Mri.FmTool
解决方案2:
- Mri.ConsumerTest(Web应用程序)
我使用了最新的Mri.Controls.dll并将其添加为Mri.ConsumerTest应用程序的参考.来自Mri.Controls的所有控件似乎都在Mri.ConsumerTest中工作.Intellisense正在工作,它编译,没有问题.
但是,在运行它时,大多数WebResource.axd文件都是空的,只是空白.一个WebResource.axd文件不是空白的,它只是说"找不到此资源".
以下是"属性"窗口中javascript文件的属性:
构建操作:"嵌入式资源"
复制到输出目录:"始终复制"
我错过了什么步骤?
什么是在运行时在ASP.NET 3.5中缩小ASP.NET生成的Javascript(例如webresource.axd服务的Javascript)的最佳方法?我尝试使用MbCompression模块,但它不使用这些资源.
我创建了一个新项目.我从NuGet安装了Ajax Control Toolkit.然后我用以下代码创建了一个新页面aspx:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<ajaxToolkit:ToolkitScriptManager ID="toolkitScriptMaster" runat="server">
</ajaxToolkit:ToolkitScriptManager>
hello!!!!
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当我看到ajaxtookit创建了152个scriptresources文件时,我傻眼了.我很担心因为我知道这会影响页面的加载时间.
这是正常的吗?
我能做什么?
asp.net webresource.axd ajaxcontroltoolkit scriptresource.axd
在ASP.NET的旧时代,人们可以使用Page.ClientScript.GetWebResourceUrl来获取一个URL,该URL将通过WebResource.axd HttpHandler提取嵌入式资源.
在MVC中,似乎没有ClientScript(或者就此而言是Page).我找不到与此类似的东西.我搜索了MSDN,我甚至在bing上搜索了它并没有找到太多.
虽然我当然可以写这个功能并且可能有一个/ Scripts/controller - 我想看看是否有关于如何实现这个功能的直接等效或首选模式.谢谢
webresource.axd ×10
asp.net ×8
asp.net-2.0 ×1
asp.net-3.5 ×1
asp.net-ajax ×1
asp.net-mvc ×1
assemblies ×1
c# ×1
dll ×1
invalid-url ×1
javascript ×1
loading ×1
minify ×1
optimization ×1
viewstate ×1
web-config ×1