我在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 正在使用的 :
问题:
此外,:直到我尝试将应用程序部署到appharbor时,我才注意到这个问题。
发布于 2014-01-22 16:43:57
xsp4应该从web应用程序目录运行,而不是从bin目录运行。
原因在于ASP.NET体系结构:一个web应用程序由一个主目录(比如webapp)和几个标准目录组成。
让我们只关注bin,它仅包含由web应用程序引用的编译后的程序集。
简单地说,如果在xsp4目录下运行bin,它将永远无法引用Index.aspx。另一方面,从webapp运行Index.aspx允许服务器从bin目录加载任何所需的程序集。
https://stackoverflow.com/questions/21288026
复制相似问题