1、无法验证数据: 解决方法:在Page指令中设置禁止MAC(身份验证代码 ): <% @ Page EnableViewStateMac="false">
个人分析:当网页提交给本身时,服务器会通过MAC以检查视图的状态,看状态是否在客户端被更改.但这也就导至一个潜在的问题,即服务器端的状态一般保持时间很短,如果在服务器上状态消亡后再提交页面的话,就会造成MAC验证不通过,产生无法验证的错误提示.
这个解决方法也存在很多麻烦,比如需要在每个提交给自身的页面加上这条指令.而且存在一些安全隐患,如有人恶意更改视图状态等.还望有谁能提供更佳的方案.
2、-- “/”应用程序中的服务器错误(winxp中的解决方法) 1)、显示“安全”选项卡 打开“控制面板”中的“文件夹选项”。 单击“开始”,然后单击“控制面板”。 双击“文件夹选项”。 在“查看”选项卡上的“高级设置”下,清除“使用简单文件共享(推荐)”。 2)、在文件夹的安全选项卡中为你的站点文件夹增加aspnet用户 3)、为此文件夹的users用户增加写入权利 3、项目调试时候,出现其中用到的一个组件“访问被拒绝”的解决方法
有时候,我们在调试ASP.net程序的时候,会很痛苦的碰到。某某组件访问被拒绝。这时候重起IIS,电脑注销都不起作用。这时候的错误信息一般类似如下的方式:
“/”应用程序中的服务器错误。 --------------------------------------------------------------------------------
配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。
分析器错误信息: 访问被拒绝:“CSDN.Authentication”。
源错误:
行 196: <add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 行 197: <add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 行 198: <add assembly="*"/> 行 199: </assemblies> 行 200: </compilation>
源文件: c:\windows\microsoft.net\framework\v1.1.4322\Config\machine.config 行: 198
程序集加载跟踪: 下列信息有助于确定程序集“CSDN.Authentication”无法加载的原因。
=== Pre-bind state information === LOG: DisplayName = CSDN.Authentication (Partial) LOG: Appbase = file:///F:/MyDevelop/AD/Code/ADManageWeb LOG: Initial PrivatePath = bin Calling assembly : (Unknown). === LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: Post-policy reference: CSDN.Authentication LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/root/3151f96f/581ce000/CSDN.Authentication.DLL. LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/root/3151f96f/581ce000/CSDN.Authentication/CSDN.Authentication.DLL. LOG: Attempting download of new URL file:///F:/MyDevelop/AD/Code/ADManageWeb/bin/CSDN.Authentication.DLL. LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: Post-policy reference: CSDN.Authentication, Version=1.0.1965.30523, Culture=neutral, PublicKeyToken=null -------------------------------------------------------------------------------- 版本信息: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300
其中最常见的原因是Indexing service服务引起的。解决方法就是停用Indexing service,或配置ASP.net 的临时目录不受Indexing service服务的影响。
配置ASP.net 的临时目录不受Indexing service服务的影响的步骤如下:
1、开始 -- 管理工具 -- 计算机管理(Win2003的位置,其他操作系统类似)打开计算机管理 2、展开计算机管理左边树中“服务和应用程序”节点,再在其下展开“索引服务”节点,再在其下展开“System”节点,再在其下展开“目录”节点。 3、在计算机管理的右边我们可以看到配置的索引服务目录。 4、在“目录”节点上右击鼠标,选择“新建”--“目录” 5、在“添加目录”对话框中,路经输入框中输入 ASP.net 的临时文件目录。默认应该是: c:\<WINDIR>\Microsoft.NET\Framework\<Version Number>\Temporary ASP.NET Files 目录。 <Version Number> 指你要处理的.net版本。 6、在“包含在索引中吗?”选项中,选择“否” 7、单击“确定”按钮 8、在“索引服务”节点上右键单击,重起索引服务即可。 另一个方法:作一个项目,其中引用了第三方dll,在本地运行没有问题,但放到服务器上就抱错:访问被拒绝
首先我按照楼主的方法试验了一下,问题依旧,不论是停止索引服务还是对.net的 临时目录做处理,组件依然被拒绝访问. 于是我的解决方法是:将自己项目的dll和引用的dll,同时放到服务器上去,这样服务器上两个dll的更新时间是一样的,这样问题就解决了,不知道是什么原因,和时间有关系 另外,如果还不行,请考虑一下你引用的组件和你自己调试项目的版本问题,最好都是release版。
|
请发表评论