(1)您试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序。
你把主目录下的执行许可该成“无”了,你再改成纯脚本或者别就好了
(2)在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的
今天在vs2005下调试某程序时,出现如下错误:在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。
在网上找了很多帖子,找原因。有的说
1、若IIS中没有应用程序名,先创建,若还不行把C:/WINDOWS/Microsoft.NET/work/v2.0.50727/CONFIG/machine.config中的所有allowDefinition="MachineToApplication"改为allowDefinition="Everywhere"
2、右键----iis里你的程序目录 ---- 属性------点击 创建应用程序
我按他们说的找没找到,最终我理解就是
把你的虚拟目录指向web.config所在在文件夹,因为 web.config 的某些配置节只能出现在网站的虚拟目录跟目录中。
采用2方法还真的解决了,不错。
(3)利用Excel.Application检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。
原因:
用户没有使用Excel的权限!
解决方案一:
必须在服务端配置好Excel的DCOM权限。步骤如下:
1:在服务器上安装office的Excel软件.
2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"
3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框
5:点击"标识"标签,选择"交互式用户"
6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限. 在XP系统和2000系统中添加ASPNET用户.
7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.
注意:其中第5步是必须的,否则会出现以下错误:
内存或磁盘空间不足,Microsoft Office Excel 无法再次打开或保存任何文档。 ? 要想获得更多的可用内存,请关闭不再使用的工作簿或程序。 ? 要想释放磁盘空间,请删除相应磁盘上不需要的文件。
这样,我们便配置好了相应的Excel的DCOM权限.
注意:我是在WIN2003上配置的,在2000上,是配置ASPNET用户.注意:如果IIS设置为windows验证,那么这里就应该添加Users组,而不是NETWORK SERVICE了,并且web.config里应该加上.此外,采用域用户的验证和域用户登陆时,标识里需要选择"启动用户",配置权限里加上Authenticated Users组的完全控制权限.配置完之后重启IIS。
附注:window 2003 server上有时需要添加Asp.net用户才行,而有时只需要添加Network service用户。
解决方案二:
将IIS帐户强行设置为特定用户,在web.config的system.web内加上如下一句.<IDENTITY impersonate="“true“" username="“username“,password=“password“">不推荐用该方法,安全性降低.
解决方案三:
将应用程序授予Internet来宾帐户执行访问权限.(IIS匿名访问的情况)
使用方案一解决问题