簡體   English   中英

IIS 10上的OWIN WebApi項目在所有操作上給出404

[英]OWIN WebApi project on IIS 10 gives 404 on all operations

我有一個OWIN WebAPI項目,該項目可在OwinSelfHost中使用,但在IIS 10上托管時始終會顯示404,唯一起作用的是初始頁面public / index.html。 我在Windows 10計算機上運行IIS 10。 我正在使用Dapper,Npgsql和Postgresql數據庫。

我嘗試了一些通過谷歌搜索閱讀的技巧,到目前為止,還沒有運氣,這是我的Web.config:

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.6" />
        <httpRuntime targetFramework="4.6" />
        <httpModules>
            <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
        </httpModules>
    </system.web>

    <system.webServer>
        <!-- runAllManagedModulesForAllRequests: Make sure that we have OWIN handle static files, too. -->
        <modules runAllManagedModulesForAllRequests="true">
            <remove name="ApplicationInsightsWebTracking" />
            <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
        </modules>

        <staticContent>
            <!--clear /-->
        </staticContent>


        <handlers>
            <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
            <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
        </handlers>
        <validation validateIntegratedModeConfiguration="false" />
        <directoryBrowse enabled="true" />
        <defaultDocument>
            <files>
                <add value="public/index.html" />
            </files>
        </defaultDocument>
    </system.webServer>

    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>

和packages.config:

<?xml version="1.0" encoding="utf-8"?>
<packages>
    <package id="Dapper" version="1.50.1" targetFramework="net46" />
    <package id="Dapper.Contrib" version="1.50.0" targetFramework="net46" />
    <package id="Dapper-Async" version="1.03" targetFramework="net46" />
    <package id="Microsoft.ApplicationInsights" version="2.0.0" targetFramework="net46" />
    <package id="Microsoft.ApplicationInsights.Agent.Intercept" version="1.2.1" targetFramework="net46" />
    <package id="Microsoft.ApplicationInsights.DependencyCollector" version="2.0.0" targetFramework="net46" />
    <package id="Microsoft.ApplicationInsights.JavaScript" version="0.22.9-build00167" targetFramework="net46" />
    <package id="Microsoft.ApplicationInsights.PerfCounterCollector" version="2.0.0" targetFramework="net46" />
    <package id="Microsoft.ApplicationInsights.Web" version="2.0.0" targetFramework="net46" />
    <package id="Microsoft.ApplicationInsights.WindowsServer" version="2.0.0" targetFramework="net46" />
    <package id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="2.0.0" targetFramework="net46" />
    <package id="Microsoft.AspNet.Cors" version="5.2.3" targetFramework="net46" />
    <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" />
    <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net46" />
    <package id="Microsoft.AspNet.WebApi.Cors" version="5.2.3" targetFramework="net46" />
    <package id="Microsoft.AspNet.WebApi.Owin" version="5.2.3" targetFramework="net46" />
    <package id="Microsoft.AspNet.WebApi.OwinSelfHost" version="5.2.3" targetFramework="net46" />
    <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net46" />
    <package id="Microsoft.Azure.AppService.ApiApps.Service" version="0.9.16" targetFramework="net46" />
    <package id="Microsoft.Owin" version="3.0.1" targetFramework="net46" />
    <package id="Microsoft.Owin.FileSystems" version="3.0.1" targetFramework="net46" />
    <package id="Microsoft.Owin.Host.HttpListener" version="3.0.1" targetFramework="net46" />
    <package id="Microsoft.Owin.Hosting" version="3.0.1" targetFramework="net46" />
    <package id="Microsoft.Owin.StaticFiles" version="3.0.1" targetFramework="net46" />
    <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net46" />
    <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
    <package id="Npgsql" version="3.1.6" targetFramework="net46" />
    <package id="Owin" version="1.0" targetFramework="net46" />
    <package id="OwinHost" version="3.0.1" targetFramework="net46" />
    <package id="Swashbuckle" version="5.0.0" targetFramework="net46" />
    <package id="Swashbuckle.Core" version="5.0.0" targetFramework="net46" />
    <package id="System.IdentityModel.Tokens.Jwt" version="4.0.0" targetFramework="net46" />
    <package id="WebActivatorEx" version="2.0.6" targetFramework="net46" />
</packages>

您必須將OwinHttpHandler添加到管道中:

<handlers>
       <add name="Owin" verb="*" path="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb" />
 </handlers>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM