我有一个家庭网络,正在使用 IIS。我使用 Visual Studio 2010 开发了一个 ASP.NET 应用程序,并希望将其部署到我的 Windows 2008 R2 Web 服务器上。但是我以前从未使用过 IIS,也不知道我在做什么。有人有好的 URL 吗?我只想将我的 Web 应用程序发布到 Web 服务器并运行它。应该很简单,对吧?我没有域,只有一个工作组。
谢谢,马克。
编辑
我尝试在 Visual Studio 中发布该网站并在输出中得到以下信息:
------ Build started: Project: C:\...\test\, Configuration: Debug Any CPU ------
Pre-compiling Web Site
Building directory '/test/App_Code/'.
Building directory '/test/controls/'.
Building directory '/test/'.
Pre-compilation Complete
------ Publish started: Project: C:\...\test\, Configuration: Debug Any CPU ------
Connecting to site http://magnesium:888...
Error: The operation could not be completed
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========
有什么想法吗?Magnesium 是 Web 服务器的名称。如果我从我的工作站浏览该网站,我会得到:
Server Error
403 - Forbidden: Access is denied.
You do not have permission to view this directory or page using the credentials that you supplied.
编辑2
如果我浏览 Web 服务器上的站点,我会得到以下输出:
HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory. Detailed Error Information
Module DirectoryListingModule
Notification ExecuteRequestHandler
Handler StaticFile
Error Code 0x00000000
Requested URL http://localhost:888/
Physical Path D:\sites\test
Logon Method Anonymous
Logon User Anonymous
编辑3
现在,我已成功通过映射驱动器并简单地发布到映射驱动器将应用程序传输到 Web 服务器。当我在服务器上浏览它时,我收到此错误:
HTTP Error 500.21 - Internal Server Error
Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list Detailed Error Information
Module IIS Web Core
Notification ExecuteRequestHandler
Handler PageHandlerFactory-Integrated
Error Code 0x8007000d
Requested URL http://magnesium:888/default.aspx
Physical Path D:\sites\test\default.aspx
Logon Method Anonymous
Logon User Anonymous
有什么想法吗 - 哇,这看起来很难。
答案1
这是针对 VS2005 的,但过程类似:部署 ASP.NET Web 应用程序
编辑:
如果您从计算机 (magnesium) 浏览该网站,它会显示更详细的错误。否则,您必须仔细查看 IIS 日志才能弄清楚到底发生了什么。原因可能很简单,因为 IUSR_Magnesium 没有对该文件夹的读取权限。
编辑2:
该错误表示您没有该目录的默认文档(即 index.asp 或 default.asp;无论其配置为何)。如果您的应用程序未实现默认文档功能,则无法运行。
(我得承认,你对 ASP.NET 应用程序的了解已经接近我的极限;但如果你不能让它工作,堆栈溢出会知道更多)。
答案2
好的,我解决了。第一个问题是 Web 服务器上的权限。我授予了 Web 服务器写入权限,映射了驱动器,并能够正常发布。使用此处的步骤修复了错误“HTTP 错误 500.21 - 内部服务器错误”页。感谢克里斯的帮助 - 现在一切都顺利进行。