【问题标题】:Starting application in monodevelop vs xsp4在 monodevelop vs xsp4 中启动应用程序
【发布时间】:2014-01-22 16:08:04
【问题描述】:

我在 Linux 中使用 mono 构建了一个 ASP.Net WebApi 项目。

当我在 Monodevelop 中启动(调试/发布)应用程序时。应用程序运行没有错误。 示例:我开始一个(调试/发布)会话。然后我导航到 127.0.0.1:9000/api/person/ 。然后我收到了预期的 xml 输出。

但是,当我从“bin”目录中执行 xsp4 服务器时。应用程序启动正常,但是当我转到 127.0.0.1:9000/api/person/ 时。 我以以下异常结尾:

Description: HTTP 404.The resource you are looking for (or one of its dependencies) 
could have been removed, had its name changed, or is temporarily unavailable. Please 
review the following URL and make sure that it is spelled correctly.

Details: Requested URL: /api/person/
Exception stack trace:
at System.Web.StaticFileHandler.ProcessRequest (System.Web.HttpContext context) [0x00000] in <filename unknown>:0 
at System.Web.DefaultHttpHandler.BeginProcessRequest (System.Web.HttpContext context, System.AsyncCallback callback, System.Object state) [0x00000] in <filename unknown>:0 
at System.Web.HttpApplication+ <Pipeline>c__Iterator1.MoveNext () [0x00000] in <filename unknown>:0 
at System.Web.HttpApplication.Tick () [0x00000] in <filename unknown>:0  

我正在使用:

  • Monodevelop 4.1.7
  • 单声道:3.2.7
  • Ubuntu 13.10
  • xsp4:与 monodevelop 使用的版本相同。
  • bin:使用 monodevelop 构建项目的已编译二进制文件的位置。

问题

  • monodevelop 会自动执行哪些步骤?
  • 如何获得高级输出(浏览器或控制台)以识别丢失的文件?
  • 为什么独立 xsp4 中缺少文件,而 monodevelop 中没有?

另外:直到我尝试将应用部署到 appharbor 时才注意到这个问题。

【问题讨论】:

  • AFAIK 你应该从 webapp 目录运行 xsp4,not bin 目录
  • Thx 解决了这个问题,我错过了 :)

标签: asp.net asp.net-web-api mono monodevelop appharbor


【解决方案1】:

xsp4 应该从 Web 应用程序目录运行,而不是从 bin 目录运行。

原因在于 ASP.NET 架构:Web 应用程序由一个主目录(比如webapp)和几个标准目录组成。

让我们只关注bin,它包含您的 Web 应用程序引用的已编译程序集。

简单地说,如果你在bin目录范围内运行xsp4,它永远无法引用Index.aspx。另一方面,从 webapp 运行 Index.aspx 允许服务器从 bin 目录加载任何所需的程序集

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多