asp.net - 关于复制与发布网站的问题

标签 asp.net sql-server-2005 .net-3.5 deployment web-deployment-project

我很感激意见或建议。

多年来,我一直有一个 html 和 javascript 网站,该网站位于 Wild West 托管的共享 Apache 服务器上。最近,我决定将其迁移到 .NET 3.5,并将其放在同样由 Wild West 托管的共享 Windows IIS7 服务器上。我使用 Visual Studio 2008 重写了所有页面,添加了角色管理、站点地图控制的菜单树(启用了基于角色的安全修剪)以及安全目录。可能有六个页面,其中有几个安全目录,此时每个目录中只有一两个文件。简单的网站。

我使用VS2008的ASP.NET配置工具创建与站点地图中所有角色名称匹配的用户和角色,并确认用户等位于App_Data/ASPNETDB.MDF数据库的aspnet_表中。该网站在本地计算机上呈现良好。 Login.aspx 页面允许用户登录,菜单树相应调整,登录状态控件相应调整,并且用户被适当重定向......一切都按设计进行。

我取出了与 Wild West(以前称为 GoDaddy)的共享 Windows 托管帐户,将 ASPNETDB 表和数据导出到 .sql 文件,并在 MS SQL 服务器上重新创建它们,编辑 web.config 中的连接字符串以使用Wild West 提供的连接字符串,然后使用 FileZilla 将文件和文件夹 ftp/复制到 Windows 服务器。 .aspx 页面将毫无问题地呈现,但当我尝试使用任何用户名和密码登录时,会引发 SQL 异常。这是非常模糊的异常消息:

建立与服务器的连接时发生错误。当连接到SQL Server 2005时,出现此故障的原因可能是SQL Server在默认设置下不允许远程连接。 (提供商:SQL 网络接口(interface),错误:26 - 定位指定的服务器/实例时出错)

狂野西部的技术支持让我删除并重新创建数据库,确保允许远程连接,并且他们验证了连接字符串信息是否正确,但在尝试登录时仍然抛出异常。现在,这是奇怪的部分,我可以将连接信息硬编码到页面的代码隐藏中,它将成功连接到数据库以提取信息。因此 Web 服务器可以访问数据库。

所以,我开始想……问题是因为我只是将页面、代码隐藏文件和文件夹复制到服务器,而不是构建它们,然后将编译的版本复制到服务器吗? HTML 与 .NET 有很大不同,Apache 服务器与 IIS7 有很大不同。我曾在某处读到,复制到 IIS7 的未编译站点将由服务器在第一次请求时进行编译,但也许事实并非如此。服务器上的文件夹结构不包含 BIN 文件夹,这使我相信服务器实际上并未构建该站点。我应该删除那里的文件和文件夹,在本地计算机上构建站点,然后将构建的版本复制回服务器吗?这可能是导致错误消息的原因吗?

感谢您提供的任何信息。祝您假期愉快。

约翰

最佳答案

我真的怀疑您遇到的问题与您部署网站的方式有关。如果您尚未发布网站,IIS 将在第一次请求时自动编译该网站。您始终可以尝试发布它并将所有库复制到服务器,但我认为这不能解决问题。

对我来说,这听起来像是无法从网络服务器访问数据库服务器的问题。

您可以发布您正在使用的连接字符串(不带用户名/密码)以便我们查看吗?

关于asp.net - 关于复制与发布网站的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/381679/

相关文章:

asp.net - 网站的 HTML 色轮控件

c# - ASP.NET MVC ViewModel 属性为空

sql - 从日期计算中排除周末和自定义日期(即假期)

sql - 我如何强制 SQL Server 2005 在 where 之前运行连接?

c# - 线程如何相互通信?

c# - 计算在 asp.net mvc 中查看的项目数

javascript - 将 .net 按钮控件 ID 传递给 JavaScript 函数

sql-server-2005 - 需要在 sql server 2005 中使用 ROW_NUMBER 而不结束

.net-3.5 - AesManaged 与 RijndaelManaged

.net - 如何将 .NET 3.5 和 .NET 4.0 程序集添加到 FxCop 代码分析?