【问题标题】:Web Deployment IIS7Web 部署 IIS7
【发布时间】:2012-04-13 13:15:17
【问题描述】:

我之前没有在 IIS7 上部署过网站。我想知道是否有人可以帮助我确保我做对了。我有一个正在尝试部署的 ASP/C# 网站。我对服务器的唯一访问是通过 RDP。没有 FTP 或任何东西。

我已阅读有关不同部署选项的指南,但没有人真正谈论文件系统部署,我认为这是我唯一的选择。

基本上,我将文件本地部署到笔记本电脑,然后将其复制并粘贴到远程服务器。我将编译后的站点放置到 \intepub\wwwroot 并使用 inetmgr 将其添加到默认站点。我确实将正确的应用程序池设置为 .net 4.0,因为那是我用于 asp 站点的框架。

我可以访问网站的某些组件/页面,但无法访问其中的一些。它给了我错误,但我注意到的一件事是错误包含指向我开发站点的笔记本电脑的目录路径。所以,我假设我没有正确发布网站。

【问题讨论】:

  • 你能发布那些错误信息吗?
  • 您的假设不一定正确 - 如果您在 asp.net 错误页面中看到堆栈跟踪,那么从构建机器而不是运行站点的服务器看到文件路径是很正常的。
  • [NullReferenceException: Object reference not set to an instance of an object.] ModuleOne.Pages.Faculty.Page_Load(Object sender, EventArgs e) in D:\School\Winter 2012\SYST34579\Deliverable 3 \ModuleDeliverable3\ModuleDeliverable3\Faculty\FacultyOnly.aspx.cs:27
  • 就是其中之一。我还注意到我制作的课程已经消失了。我在编译的站点/部署的站点中看不到它们。这是正常的吗?我正在使用一个类的方法来检查第 27 行的某些内容,这可能是它给出空引用异常的原因。
  • 您应该将该异常与它在您的问题中指向的代码一起发布。

标签: asp.net iis-7


【解决方案1】:

听起来像您在声明中返回的表格

if (GetData.getTable().Rows.Count != 0)

null。这会抛出你得到的异常。你可以通过确保你的表对象是一个实际的实例来解决这个问题(假设是 Datatable):

Datatable tbl = new Datatable();  //OK

Datatable tbl = null;   //Not OK

另外,您说NullReferenceException 只是其中之一。也许这不是根本问题。您应该拥有打开连接并在 try/catch 块中执行查询的代码部分,如果出现问题,您可以捕获错误并知道出了什么问题。如果您能缩小问题范围,我们会更有帮助。

【讨论】:

  • 就是这样。 getTable() 在构建机器上返回一行,我已经为我知道在表上的查询设置了一个静态值,用于测试目的。所以,我真的认为我在 connectionString 部分遗漏了一些东西。这是我的构建机器上的连接字符串部分 String connectionString = "Server=142.xx.xx.xx; Database=*******; User=*******; Password=**** **"; (删除私人信息)
  • 当我将文件传输到服务器时,我将 connectionString 适当地更改为 String connectionString = "Server=(local)\\instanceName; Database=*******; User=* ******; 密码=********";.
猜你喜欢
  • 2012-11-01
  • 2011-12-28
  • 1970-01-01
  • 1970-01-01
  • 2017-02-21
  • 2011-02-07
  • 2014-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多