zoukankan      html  css  js  c++  java
  • 在虚拟机部署asp.net webservices项目出错

    (1)“/Novotech.PowerCharge.Web”应用程序中的服务器错误。
    --------------------------------------------------------------------------------

    对路径“C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\novotech.powercharge.web\2daab6f1\66b15367”的访问被拒绝。

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.UnauthorizedAccessException: 对路径“D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\test\db58b339\50f84c0”的访问被拒绝。

    ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS
    6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户。

    由于在iis 6.0中,默认的应用程序池中的标示用的是Network Service,所以在进程中是使用Network Service这个帐号运行来运行w3wp.exe进程,而当我们在运行VS 2003的时候是需要对D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary
    ASP.NET Files\目录下进行读写操作的,所以看了一下该文件夹,发现没有Network Service,添加上该账号,同时选上FULL CONTROL,问题解决,但是至于为什么会产生这个问题我不大清楚,因为在安装WINDOWS 2003的时候,Network Service账号是存在于Temporary ASP.NET Files该文件夹安全列表中的。

    顺便提一下,在IIS6.0中的默认应用程序池-->属性-->标示中把Net Service改成Local System该问题也可以解决




    (2)请求因 HTTP 状态 401 失败:Unauthorized。

    这个问题和上一个问题差不多。别人说的那么,其实没什么是有用的,还是自己研究出来的才知道那是重点。
    环境:虚拟目录,其他计算机 出现的该问题
    自己的解决方法: 自己机器上的先不提。在对方的计算机上共享,然后权限给上。这一步很重要:开始->程序->管理工具->本地安全策略->安全策略->本地策略->用户权限分配,双击“从网络访问此计算机”,添加IIS默认用户或者其所属的组。 注意:一般自定义 IIS默认匿名访问帐号都属于组,为了安全,没有特殊需要,请遵循此规则。
    这里搞好了在去IIS上晃。去那个目录和安全性那里,编辑权限,匿名访问那里,先把钩去掉,确定,然后在去那里,点浏览,重新选择一下IIS用户就两个问题全部搞定。这也是要点。
    重新选择了之后发现跟默认的也没什么区别,就多了一个计算机的名字,IIS计算机名\iis_user,这样的,默认情况下,就一个Iiis_user
    我又遇到了一种情况就是当我添加一个WebServices引用后,我把项目部署到服务器上后当引用webservices属情中的“URL行为”没有修改为“动态”时也会报401失败这个错误
  • 相关阅读:
    【剑指offer】3-数组中重复的数字
    自定义管道遇到问题解决方案
    vue的双向绑定示例
    子组件传递给父组件数据
    vue里的共享对象示例
    mysql里的explain介绍
    mysql索引
    修改MySQL字符集
    v-model修饰符示例
    vue下拉列表示例
  • 原文地址:https://www.cnblogs.com/Bigkangaroo/p/943379.html
Copyright © 2011-2022 走看看