微软ASP.NET站点部署指南(12):Troubleshooting
这个页面列出的是Visual Studio 部署ASP.NET 程序时经常出现的问题。对于每个错误,都列出了可能出错的原因和解决方案。
使用SQL Server Compact时,页面出现Access is Denied
场景
使用SQL Server Compact数据库部署站点以后,运行页面出现如下错误:
Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
产生原因和解决方案
服务器上的NETWORK SERVICE账户需要读取SQL Service Compact原生库(\amd64或bin\x86目录)的权限,但没有读取该文件夹的权限。查看前面的章节如何给bin目录授权(确保子目录也有相同的权限)。
因权限不够不能读取配置文件
场景
使用Visual Studio发布按钮部署程序的时候,Output窗口出现如下错误信息:
An error occurred when reading the IIS Configuration File 'MACHINE/REDIRECTION'. The identity performing this operation was ... Error: Cannot read configuration file due to insufficient permissions.
产生原因和解决方案
使用one-click发布,必须使用管理员身份运行Visual Studio。关闭Visual Studio,以管理员身份重新运行Visual Studio。
不能连接到目标服务器
场景
使用Visual Studio发布按钮部署程序的时候,Output窗口出现如下错误信息:
Web deployment task failed.(Could not connect to the destination computer ("<server URL>") using the specified process
("The Web Management Service"). This can happen if a proxy server is interrupting communication with the destination server.
Disable the proxy server and try again.) ... The remote server returned an error: (502) Bad Gateway.
产生原因和解决方案
有可能是代理服务器问题,解决方法:打开控制面板或者Internet选项,选择连接选项卡,在Internet属性对话框里点击局域网设置,在局域网(LAN)设置对话框里在取消自动检测设置。然后重新发布。
如果问题依旧,联系你的管理员看看关于代理和防火墙可以做什么修改,因为Web Deploy为Web Management Service使用不标准的端口(8172),其它的连接Web Deploy 使用的是80端口。部署到第三方主机的时候一般使用的是Web Management Service。
默认.Net应用程序池不存在
场景
部署.NET Framework 4程序的时候,出现如下错误信息:
The default .NET 4.0 application pool does not exist or the application could not be added. Please verify that ASP.NET 4.0 is installed on this machine.
产生原因和解决方案
IIS上没有安装ASP.NET4,如果部署的服务器是你的开发机(安装了VS2010),ASP.NET4已经安装在服务器上了,但是没有安装在IIS上。要想成功部署,需要在Command Prompt窗口里运行如下命令在IIS里安装ASP.NET4:
cd %windir%\Microsoft.NET\Framework\v4.0.30319 aspnet_regiis.exe –iru
你还要为默认应用程序池设置.NET framework版本,具体步骤请参考第5章。
Format of the initialization string does not conform to specification starting at index 0
场景
使用one-click发布以后,访问页面(需要读取数据库)的时候出现如下错误:
Format of the initialization string does not conform to specification starting at index 0.
产生原因和解决方案
打开部署站点的Web.config文件,看看数据库连接字符串是不是以$(ReplacableToken_开头,像下面这样:
<connectionStrings> <
相关新闻>>
- 发表评论
-
- 最新评论 更多>>