我有一个ASP.NET Web API,在使用localhost:1783在"IIS Express"上运行时可以正常工作

但当我没有"使用IIS Express"然后按"创建虚拟目录"时......

...我刚收到404错误:

任何想法都错了吗?谢谢!
我有一个用Cassini开发和测试的mvc应用程序.在GoDaddy上部署到我的网站,默认页面就可以了.点击登录,我得到404.
我在IIS 7下运行,所以这是出乎意料的.我的路线很简单:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Public", action = "Index", id = "" }
);
routes.MapRoute(
"Report1",
"Report/{action}/{start}/{end}",
new { controller = "Report", action = "Index" }
);
routes.MapRoute(
"Report2",
"Report/{action}/{start}/{end}/{idList}",
new { controller = "Report", action = "Index" }
);
Run Code Online (Sandbox Code Playgroud)
知道可能会发生什么或我如何解决这个问题?
我正在尝试为IIS 7.5网站配置默认网页.
请求过滤已开启.但是允许使用.aspx页面,我将default.aspx设置为网站的默认页面.
如果我浏览到localhost/default.aspx,我会按预期获得一个网页.
如果我浏览localhost /我得到
HTTP错误404.7 - 未找到请求筛选模块配置为拒绝文件扩展名.
有任何想法吗?
我刚刚尝试在带有IIS 7.0的Windows 2008R2上部署WebApi应用程序,直到现在IIS操作系统都未触及.
该应用程序在我们的开发服务器(相同的Win和IIS版本)上运行,没有麻烦.在部署服务器上
当我调用应映射到ASP.NET的URL时,错误是
HTTP Error 404.0
Module IIS Web Code
Notification MapRequestHandler
Handler StaticFile
Error code 0x80070002
Requested URL http://localhost:80/myapp/api/GetUserConfig
Physical Path C:\inetpub\wwwroot\myapp\api\GetUserConfig
Logon Method Negotiate
Logon User ADDOMAIN\Administrator
Run Code Online (Sandbox Code Playgroud)
Handler StaticFile似乎很重要 - 据我所知,原因是ASP.NET没有正确处理URL.我在哪里可以开始搜索此问题的实际根源?
我应该补充说,在Windows 2012环境中,多个其他部署都是成功的.
如果Web API在localhost上运行,为什么Web API会停止在Azure网站上运行.
错误是加载资源失败:服务器响应状态为404(未找到)或您要查找的资源已被删除,名称已更改或暂时不可用.在浏览器中将URL粘贴到api时
注意: 我从未遇到过这个错误,我已经在使用Web Api属性路由的azure上有几个站点.
WebConfig
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Run Code Online (Sandbox Code Playgroud)
RouteConfig
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Cities",
url: "Cities/{id}/{name}/{action}",
defaults: new { controller = "Cities", action = "Index" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
Run Code Online (Sandbox Code Playgroud)
Global.asax中
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register); …Run Code Online (Sandbox Code Playgroud) 我正在研究.Net Web API,它在调试和localhost IIS上运行良好但是当我将它发布到服务器时它开始给出以下错误: -
"消息":"没有找到与请求URI匹配的HTTP资源
在服务器上,我们在此API的默认站点下有应用程序文件夹,但它在本地IIS的默认站点下的应用程序文件夹中正常工作,因此不应该是问题.
现在我尝试在下面的url中指定的处理程序中设置正确的动词但是不起作用:
在IIS 7.5中托管的Web Api中找不到HTTP 404页面
我也按照以下网址的建议在服务器上安装了MVC4:
.NET Web Api - 404 - 找不到文件或目录
另外WebDav模块,处理程序可能会给出错误,所以我也尝试删除它,但它给出了同样的错误.
这是模块的处理程序设置的Web.config部分: -
<modules runAllManagedModulesForAllRequests="true" />
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="*" modules="IsapiModule"
scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="*" modules="IsapiModule"
scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
Run Code Online (Sandbox Code Playgroud)
我不在任何地方玩路线.我错过了关于web.config或服务器IIS中的设置/配置的内容吗?
我有一个简单的 web api 项目。当我使用 VS2010 下的发布功能在 Win 7 上的 IIS 7.5 上部署它时,它工作正常。但是当我将它部署到 Windows server 2008 上的 IIS 7 时(msinfo32 显示版本是 6.0.6002 service pack 2),它返回 404.0 Not Found 对于在 IIS 7.5 上工作的相同 GET 请求
Module IIS Web Core
Notification MapRequestHandler
Handler StaticFile
Error Code 0x80070002
Run Code Online (Sandbox Code Playgroud)
我已经用谷歌搜索并完成了所有我能做的建议,但没有一个对我有用。
知道如何修复它吗?
谢谢
我在Mac OSX Lion上托管的VMWare Fusion 5虚拟机上运行Windows 7 Prof
http://localhost:90/而不是默认网页(从步骤1)时,我得到一个403.14目录列表禁止错误.我错过了什么?如何启动和运行MyAPI.
我想在Win 7上的IIS中托管它,所以我可以从我的iPhone上运行的应用程序调用webservice.
任何帮助高度赞赏