我使用REST
框架创建了一个独立的Web API 2
服务。该项目不包含UI,因为该服务将在另一个域的其他地方使用。
当在本地运行时,该服务完全正常,并且在使用浏览器内REST客户端进行测试时,所有HTTP方法都按预期工作/返回。
但是,在发布服务并部署到IIS 7.5
之后,我无法访问REST客户端中任何服务路由的任何资源。我不断收到404 - Resource Not Found
错误。
我已经完成的事情:
在我的Web.Config
中添加了以下内容:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
确保AppPool是正确的(据我所知这是正确的):
了解我的发布配置文件的发布配置可能也很有用:
IIS绑定:
我尝试在REST客户端访问我的服务的示例网址如下:
www.MySubDomain.Domain.co.uk/api/ControllerName/1
(GET)
(使用api/ControllerName/1
)
任何额外的尝试都将受到赞赏。
答案 0 :(得分:0)
原来我的绑定有些不正确!当我在子域上托管它时,我在绑定中不需要www.
。删除这4个字符后,工作正常!