我可以在SO和互联网上找到许多相同的问题。然而,没有它们是我的问题的解决方案(至少到目前为止我见过的解决方案)。所以我需要你的帮助。
我创建了一个WebApi
,其中包含以下列表,当我从Visual Studio运行它时,它可以正常工作。但是当我将它发布到我自己的机器的IIS时,它不起作用。
它为我提供了 HTTP错误404.0 - 未找到错误。
这是system.webServer
的{{1}}和applicationSettings
部分:
web.config
这是路线图:
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*"
type="System.Web.Handlers.TransferRequestHandler"
preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
<applicationSettings>
<SampleAspNetWebApi.Properties.Settings>
<setting name="AuthorityAddress" serializeAs="String">
<value>https://localhost:44333/core</value>
</setting>
<setting name="SampleAspNetWebApi_SmsPanel_SMS" serializeAs="String">
<value>http://something.com/smsws/soap.asmx</value>
</setting>
</SampleAspNetWebApi.Properties.Settings>
</applicationSettings>
最后这是我为控制目的创建的控制器:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{action}",
defaults: new { id = RouteParameter.Optional }
);
更新
答案 0 :(得分:0)
在IIS / Websits的主机名中,您需要添加一些主机名,例如mytestapi(您从IIS设置中分享的最后一张图片)
然后将其添加到系统的主机文件(C:\ Windows \ System32 \ drivers \ etc \ hosts)中:
127.0.0.1 mytestapi
然后从这个网址测试你的api: