我一直试图部署我的Web API很长一段时间,现在没有成功。 无论我如何在自己的configuration中(通过Googlesearch的推荐)抛出东西,我仍然遇到了同样令人沮丧的错误:
System.Web.HttpException 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
这在我的浏览器中显示为错误404。
说明: HTTP 404.您正在查找的资源(或其某个依赖项)可能已被删除,名称已更改或暂时不可用。 请检查以下URL并确保拼写正确。
详细信息:请求的URL:/ MyAPI / Home / Index
我应该补充一点,在使用XSP4进行MonoDevelopdebugging时它运行良好,这就是为什么我认为这是configuration问题而不是代码问题。
我的nginxconfiguration:
server { listen 80; root /var/www/MyAPI/; server_name MyAPI; location / { fastcgi_pass 127.0.0.1:9000; include /etc/nginx/fastcgi_params; } }
我已经尝试使用一个webapp文件,只是在命令行中input。
<apps> <web-application> <name>MyAPI</name> <vhost>*</vhost> <vport>80</vport> <vpath>/</vpath> <path>/var/www/MyAPI/</path> </web-application> </apps>
然后在命令行中我试过了:
fastcgi-mono-server4 /applications=/MyAPI:/var/www/MyAPI/ socket=tcp:127.0.0.1:9000
和
fastcgi-mono-server4 --appconfigdir=/etc/webapps socket=tcp:127.0.0.1:9000
我在这里错过了什么? 有没有人有这个解决scheme?
事实certificate,这个问题是由于在发布Web API时使用预编译选项造成的。 当我尝试发布应用程序而不使用预编译时,一切都顺利进行。