【问题标题】:Deploy C# project to a website with IIS 6.0使用 IIS 6.0 将 C# 项目部署到网站
【发布时间】:2009-07-29 00:31:46
【问题描述】:

我在 XP 操作系统上使用 VS 2008、SQL Server 2008、IIS 6.0 管理器。我在 VS 2008 中开发了我的第一个 C# 项目,它在 VS 中正确运行。但现在我需要在我的网站上发布这个项目。该项目还涉及同一台计算机上的 SQL Server 2008 Adventureworks 数据库。

我将使用同一台计算机来托管网站并存放此数据库。我知道 HTML,但不知道如何将 .NET 项目添加到网站,尤其是也使用 SQL Server 的网站。你能给我一些关于如何进行的提示吗?这不是一个 Windows 窗体应用程序,所以我很确定它是一个 Web 应用程序。

我首先右键单击该项目并选择“转换为 Web 应用程序”,然后选择我的网站的 URL。但是当我转到这个网址时,它仍然显示原始图像。

然后我打开 IIS6 管理器、默认网站,并添加了一个新的虚拟目录。我输入了一个别名并指向包含我的 Web 应用程序的文件夹的路径(该文件夹中有一个 bin、App_Data、obj 和 Properties 文件夹。它还包含所有 .CS 文件)。

接下来我查看了

的 MS 文档

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/fc473b0b-162b-4146-932c-2a9a50c52ecb.mspx?mfr=true.

但这并没有太大帮助。我从该文档中学到的只是将 DLL 复制到 C:\Inetpub\wwwroot[MyApp]\bin 目录。我还将 web.config、global.asax 和 default.aspx 文件复制到 C:\Inetpub\wwwroot[MyApp] 目录。然后我通过 IIS6 管理器更改了应用程序的属性,如下所示: 虚拟目录选项卡我选择了指向 C:\Inetpub\wwwroot\AFS\bin 目录的新本地路径,而不是本机 VS 项目目录(C:\Documents and Settings\新所有者\我的文档\Visual Studio 2008\Projects\AddFileToSQL\AddFileToSQL)。

我看到的这两个目录之间的唯一区别是我的应用程序在 VS 和文件夹中的名称是“AddFileToSQL”,但我在 C:\Inetpub\wwwroot\ 下给这个文件夹的名称是“AFS”。这有关系吗?

当我导航到我的网站 192.168.2.2 时,它仍然向我显示默认网页。但是,当我转到http://192.168.2.2/AddFileToSQL 时,它会提示我输入密码。哪个密码,这对吗?这是正确的 URL 输入吗?

此 IIS 属性窗口中有太多选项卡和选项,我不确定是否正确配置了它。我还在这个项目的 VS 2008 中看到了许多属性选项。现在这两个属性窗口中的所有内容都设置为默认值。我需要对这些属性中的任何一个进行任何更改吗?

是的,我知道我有 XP。目标服务器和开发服务器相同。这台XP是我唯一的机器。你确定 IIS 6 只适用于 Server 2003 吗?因为我知道我能够配置 IIS6 管理器。

我不确定它是否是 Cassini,但是当我运行此应用程序时,从 VS 中,它确实打开了一个 Web 浏览器并执行我想要的操作。我运行了你建议的 aspnet_regiis 命令。看起来可能没有安装,因为安装需要几分钟。

现在我应该去哪个 URL 来测试这个应用程序?我打开属性窗口,它说虚拟目录本地路径是 C:\Inetpub\wwwroot\AFS\bin。接下来,我从 IIS6 管理器中右键单击此应用程序并选择“浏览”。但这导致它产生输出:“该网站拒绝显示此网页”。我觉得我非常接近解决方案,但还没有。您还有其他建议吗?

【问题讨论】:

  • @salvationishere:我在答案中添加了 cmets(如下)
  • 是什么让您认为您拥有 IIS 6?这是 Windows XP 64 位吗?

标签: c# sql-server visual-studio-2008 deployment web


【解决方案1】:

部署网络应用的最简单方法是使用发布,方法是右键单击网络应用并选择“发布”,您可以为此指定 HTTP 路径或完全限定的驱动器路径或文件共享位置。

通常,当您启用集成 Windows 身份验证并禁用匿名时,将显示用户名/密码提示,我相信如果您的 Windows 用户是域的一部分,您的 NT 凭据应该通过浏览器(通常在 IE 中) ) ,如果您使用基于 Mozilla 的浏览器(例如 Firefox)访问该站点,则可能需要输入您的凭据。

此外,如果您没有使用 SQL 身份验证(Web.config 中的用户 ID/密码),那么您需要授予对您的网站运行所用身份的帐户的访问权限(默认情况下(在 XP 上)Web 应用程序运行在网络服务下)

希望这会有所帮助。

【讨论】:

  • 仍然不适合我。我输入了192.168.2.2/AFS/Default.aspx,它返回错误:无法显示 XML 页面...名称以无效字符开头。处理资源“file:///C:/Inetpub/wwwroot/AFS/Default.aspx”时出错。 Lin...msdn.microsoft.com/en-us/library/ms998297.aspx。从这个 URL 我添加了一个新的自定义用户帐户来使用 ASP.NET 权限,但这个链接是针对 Server 2003 的,我有 XP,所以第 4 步不一样。我还能做什么?
  • 您是在部署到 Windows Server 2003 系统还是在 XP 上。您最初的问题提到了带有 IIS 6.0 的 XP,IIS 6 仅在 Windows Server 2003 上可用。开发时是否可以从内置的 Visual Studio Web 浏览器(Cassini)查看页面?
  • 您能否确保目标服务器上安装了.NET。同时打开命令提示符,导航到 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 并运行以下命令以确保 aspnet 已在 IIS 中注册:aspnet_regiis.exe –i
  • 据我所知 IIS6 在 XP 上不可用,您可以通过转到 IIS 管理控制台并在帮助->关于 IIS...中检查版本号来验证这一点。如果您的操作系统是 XP 它应该说 5.1 另外,不是右键单击应用程序并选择浏览,而是可以从左侧窗格中选择 IIS 中的虚拟目录,然后从 IIS 的右侧窗格中选择一个 aspx 页面,右键单击页面并选择浏览?相反,您也可以尝试使用浏览器直接在 IIS 中访问网页,您的 URL 应该类似于 localhost/AFS/Default.aspx
猜你喜欢
  • 1970-01-01
  • 2010-11-19
  • 2011-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-27
  • 2020-09-10
  • 1970-01-01
相关资源
最近更新 更多