作者:网际浪子专栏(曾用名littlehb)
http://blog.csdn.net/littlehb/在域控制器或备份域控制器上安装 Microsoft Visual Studio .NET 或 Microsoft .NET 框架后,如果您尝试运行 ASP.NET 应用程序,则浏览器会显示下面的错误信息:
Server Application Unavailable
The web application you are attempting to access on this web server is currently unavailable.
Please hit the "Refresh" button in your web browser to retry your request.
此外,系统应用程序事件日志中会记录以下事件:
aspnet_wp.exe could not be launched because the username and/or password supplied in the processModel section of the config file are invalid.
aspnet_wp.exe could not be started.
HRESULT for the failure:80004005
此问题涉及 Internet 信息服务 (IIS) 5.0 版或更高版本。
<原因>
默认情况下,为了提供更安全的环境,ASP.NET 用弱帐户(名为 ASPNET 的本地计算机帐户)运行它的辅助进程。域控制器或备份域控制器上的所有用户帐户都是域帐户,不是本地计算机帐户。因此,Aspnet_wp.exe 由于找不到名为"localmachinename\ASPNET"的本地帐户而未能启动。要在域控制器上提供有效的用户帐户,必须在 Machine.config 文件的 <processModel> 部分指定显式帐户,或者必须使用 SYSTEM 帐户。
备注:如果在尝试浏览页面之前尝试进行调试(单击启动按钮),则会出现完全相同的问题。
<解决方案>
若要解决此问题,请使用下列方法之一:
创建具有正确权限的弱帐户,然后配置 Machine.config 文件的 <processModel> 部分使用该帐户。
在 Machine.config 文件的 <processModel> 部分,将 userName 属性设为 SYSTEM。
配置 Machine.config 文件的 <processModel> 部分使用管理员帐户。
备注:如果允许 ASP.NET 应用程序作为 SYSTEM 或管理员帐户运行,将带来严重的安全问题。如果使用其中的任一种变通解决办法,在 Aspnet_wp.exe 进程中运行的代码将能够访问域控制器和域设置。从 Aspnet_wp.exe 进程启动的可执行文件在相同的上下文中运行,它们也能够访问域控制器。
因此,Microsoft 建议使用第一种变通解决办法。要使用第一种变通解决办法,请执行以下步骤:
1、在计算机上创建名为 ASPUSER 的用户帐户,然后将此帐户添加到"用户组"中。
备注:如果更改了 .NET 框架创建的 ASPNET 帐户的密码,也可以使用该帐户。您必须知道此帐户的密码,因为需要在后面的步骤中将该密码添加到 <processModel> 部分。
2、向 ASPUSER 或 ASPNET 帐户授予"作为批处理作业登录"的用户权限。确保此更改在"本地安全策略"设置中显示。
备注:要向此帐户授予"作为批处理作业登录"的用户权限,必须在以下每一个安全策略中授权此用户权限(从"控制面板"/"管理工具"开始操作):
域控制器安全策略
域安全策略
本地安全策略
备注:您必须重新启动服务器,以使这些更改生效。
3、确保 ASPUSER 或 ASPNET 帐户具有的权限能够访问启动 Aspnet_wp.exe 进程和为 ASP.NET 页提供服务所必需的全部目录和文件。
4、打开 Machine.config 文件。该文件的路径是:%Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG.
5、在 Machine.config 文件的 <processModel> 部分,将 userName 和 password 属性更改为第 1 步创建的帐户的名称和密码。例如: userName="DomainName\ASPUSER" password="ASPUSERpassword"
6、保存对 Machine.config 文件所做的更改。
分享到:
相关推荐
4. **针对域控制器的配置**:如果您的计算机是域控制器,还需要遵循特定的步骤,如创建一个名为`ASPUSER`的用户账户并赋予其必要的权限,同时更新`Machine.config`文件中的`userName`和`password`字段。 #### 2. ...
- **如何在ASP.NET MVC项目中引入AngularJS** #### AngularJS与ASP.NET MVC结合的优势 AngularJS作为一种前端框架,在单页面应用(SPA)的开发上具有独特的优势。而ASP.NET MVC则是微软提供的一种用于构建动态网站...
什么是ASP.NET? ASP.NET是由微软开发的一种用于构建动态Web应用程序的技术框架。它基于.NET Framework,利用C#或VB.NET等编程语言来创建高效、可扩展的Web应用。ASP.NET支持多种开发模型,包括传统的Web Forms、...
4. 对于域控制器上的服务器,可能需要创建一个特定的用户账户,并赋予适当的权限。这包括在Active Directory Users and Computers中创建用户,分配批处理作业登录权限,以及确保用户有文件和目录的访问权限。然后在...
2. 开发环境搭建:学习如何安装Visual Studio,配置ASP.NET开发环境。 3. 第一个ASP.NET应用:创建第一个"Hello, World!"程序,理解页面生命周期。 第二天:Web Forms基础 1. Web Forms组件:学习使用控件如Label、...
首先,APPDOMAIN(应用程序域)是.NET Framework中的一个基本概念,它提供了一个安全的执行环境,每个ASP.NET应用程序都在自己的APPDOMAIN中运行。APPDOMAIN之间是隔离的,这样可以确保一个应用程序的故障不会影响到...
在ASP.NET笔试题中,常见的知识点包括访问修饰符、页面间数据传递、递归算法、委托与事件、方法重载与覆盖、以及各种编程挑战。以下是这些知识点的详细说明: 1. 访问修饰符: - `private`:私有成员,只能在定义...
1.1.4 要点4:ASP.NET运行在公共语言运行库内 1.1.5 要点5:ASP.NET是面向对象的 1.1.6 要点6:ASP.NET支持所有的浏览器 1.1.7 要点7:ASP.NET易于部署和配置 1.2 ASP.NET的演变 1.2.1 ASP.NET1.0和ASP...
在这个"简易插件系统示例"中,我们将探讨如何在Asp.NET MVC环境中创建一个可扩展、模块化的插件架构。 首先,让我们理解什么是插件系统。插件系统是一种允许应用程序通过安装额外的代码模块(即插件)来增加功能的...
我们知道,在 ASP.NET MVC 中,可以使用 Entity Framework 库来进行数据库交互,但是对于复杂的表关系关联查询或者修改操作, Entity Framework 库可能不太适合。此时,使用存储过程可以更好地解决这些问题。 在...
例如,如果我们想限制只有"管理员"可以访问某个页面,可以在页面的代码-behind或MVC控制器上添加`[Authorize(Roles = "管理员")]`注解。 Asp.net还提供了基于配置的权限管理,如Web.config文件中的`<location>`元素...
21.2.2 申请服务器证书 21.2.3 安装服务器证书 21.3 在ASP.NET页面中使用SSL 21.4 使用.NET加密类 21.4.1 使用散列算法 21.4.2 使用对称加密算法 21.4.3 使用不对称加密 21.5 小结 ...
在ASP.NET Web中,可以在Global.asax.cs文件中注册CORS中间件,或者在特定控制器或行动方法上添加特性来启用CORS。 三、实现CORS 在ASP.NET Web中,可以使用`Microsoft.AspNet.WebApi.Cors`库来实现CORS。首先,...
《Microsoft ASP.NET Setup and Configuration Pocket Reference》是一本由James Avery编写的书籍,主要聚焦于ASP.NET的安装与配置方面,为开发者提供了一个便捷的手册,帮助他们快速解决在部署ASP.NET应用过程中...
在应用程序域中,请求进一步被路由到具体的页面或控制器,触发相应的事件和方法调用,如页面加载、控件事件处理等。这一系列操作完成后,生成的响应将被送回给客户端,完成整个HTTP请求的生命周期。 #### 四、深入...
【ASP.NET初级面试题2】涉及的知识点涵盖了ASP.NET的基础概念、编程模型、数据库操作、XML处理、Web开发、网络通信、SOA平台和服务、协作和质量管理等方面。以下是这些知识点的详细说明: **基础概念与编程模型** 1...
4. ASP.NET MVC:路由、控制器、视图、模型绑定、过滤器、 Areas等。 5. ASP.NET Web API:创建RESTful服务,HTTP协议,模型绑定,JSON和XML序列化。 6. ADO.NET:数据库连接、命令执行、数据适配器和数据集,以及...
2. **控制器级别配置**:如果只想在某些特定控制器或动作上启用CORS,可以在控制器类或动作上使用`[EnableCors]`特性。例如: ```csharp [EnableCors("*", "*", "*")] public class ValuesController : Api...
本知识讲解将深入探讨在ASP.NET环境中如何构建一个新闻门户系统,特别是针对"三域新闻门户系统"这一实例。 1. **系统架构** 三域新闻门户系统通常采用三层架构设计,包括表现层(UI)、业务逻辑层(BLL)和数据...