IIS 10 上的 OWIN WebApi 项目对所有操作均给出 404

2024-03-30

我有一个 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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IIS 10 上的 OWIN WebApi 项目对所有操作均给出 404 的相关文章

随机推荐

  • 使用指向基类的指针访问受保护的继承成员

    有人可以解释为什么这段代码不起作用 class A public A void virtual A void protected A parent class B public A public B void parent new B B
  • 如何将 boost::any 打印到流?

    我有一张地图std map
  • 自动选择按钮(如何关闭此功能?)

    我有 winform 按钮 当您加载表单时 会选择某个按钮 我所说的选择的意思是 如果按下 输入 则按下该按钮 我怎样才能改变我的按钮 让他们不再这样做 Tab 键顺序按照您在表单上添加控件的顺序设置 如果您的第一个可以按下 选择 编辑的控
  • 如何将字符串绘制到图像中?

    我正在尝试使用 image picker 库从相机获取图片 然后我想添加图片拍摄日期和时间的信息 那可能吗 谢谢 您可以使用将字符串绘制到图像中图2 1 12 https pub dev packages image 您必须在 dart 文
  • 在Webstorm中删除右侧的一个字符

    我忘记了这个按键绑定 和emacs是一样的Ctrl D我尝试过谷歌搜索 删除右侧一个字符 向前删除 删除下一个字符 等内容 这里有phpstorm 中的绑定 https www jetbrains com phpstorm webhelp
  • 如何访问 Ruby 中的基本命名空间?

    我正在文件模块存在的命名空间中编写代码 在另一个模块内 我需要访问 ruby File 类 在 php 中可以这样完成 File 如何在红宝石中做到这一点 File 前缀为 访问命名空间树的 根
  • 为什么 Javascript 不包含保留关键字,例如“Object”、“Array”、“Function”、“Number”...?

    一些特殊的词 例如Object Array Function Method Numberetc 不属于 Javascript 中的关键字 JavaScript 中的保留关键字 https stackoverflow com question
  • AWS IAM 策略允许用户创建具有特定策略/角色的 IAM 用户

    我想创建一个策略 允许创建具有有限权限或与创建它们的用户相同权限的 IAM 用户 基本上 我想允许一个用户创建另一个用户 但也想准确指定一个用户可以向另一个用户提供哪些策略 例如 我创建一个新用户 用户A 用户 A 仅有权创建具有 同样 有
  • 在上传到远程网站期间缩小/调整视频大小

    我有一个用 Ruby on Rails 编写的 Web 应用程序 它使用表单将视频从用户上传到服务器 我实际上使用直接上传到 s3 的 jquery 上传器 但我认为这不相关 为了减少视频的上传时间 我想缩小它的大小 例如如果视频大小为 1
  • 如何在aspell字典中使用Unicode?

    我正在尝试使用aspell检查我的文本中的拼写 我有一本自定义词典 但有例外 它们都是 ASCII 格式的 但有一个单词是 Unicode 格式的 foo en pws personal ws 1 1 en 554 Foo bar B rb
  • MySQL 拆分和连接值

    我有一个表 mapping 有 2 列 类似于下面 id values 1 1 2 2 1 2 3 3 1 1 4 1 1 2 另一个表 map 与此类似 sno values 1 Test 2 Hello 3 Hai 我的预期输出是 id
  • 如何更改SQL Server中主键的列长度?

    我知道如何更改列的长度 但我的 SQL 语句失败 因为我尝试更改的列是 PK 因此出现以下错误 消息 5074 16 级 状态 1 第 1 行对象 PK TableName 依赖于列 PersonID 人物ID PK 我读了更改sql se
  • 使用 PHP 从 Excel 文件 (xlsx) 中提取图像

    如何使用PHPExcel从excel文件中读取图像并将图像保存在服务器中并显示它们 该文件的扩展名是 xlsx My code objPHPExcel PHPExcel IOFactory load path foreach objPHPE
  • 函数类型可以通过推理来定义吗?

    Scala 类型推断非常好 而且很容易习惯 不必写两次 当你不得不这么做的时候 你会更痛苦 函数类型就是这样的一个例子 有时我想为某些函数签名创建命名类型 有可能吗 有什么方法可以获取函数的编译时类型 这样我在定义时就不必再次输入它FTyp
  • 如何在引导后注入会话/用户对象?

    有一些示例将不同类型的对象注入到演示者中 但我找不到如何完成此操作的解释 In the 引导程序代码 http dev arcbees com gwtp get started Bootstrap Code html例如他们正在注入ASec
  • 如何测试 GAS 中的触发功能?

    Google Apps 脚本支持Triggers https developers google com apps script understanding triggers 那次通过Events https developers goog
  • 是否有 pycharm_helpers 的存储库

    最近我开始使用皮查姆 2017用于Docker 中的远程调试我意识到 PyCharm 的每个版本都会有一个新的图像pycharm helpers被拉取 根据构建使用不同的标签 有什么办法可以下载全部吗pycharm helpers图片 或者
  • 在 tibble 中添加具有可变列名称的列

    此代码无法在 tibble 中添加列 library tidyverse df lt data frame Oranges 5 mycols lt c Apples Bananas Oranges add column df mycols
  • spring mvc 不返回 json 内容 - 错误 406

    我正在使用 Spring MVC 和 JSON 如中指定的Ajax 简化 Spring 3 0 文章 http blog springsource org 2010 01 25 ajax simplifications in spring
  • IIS 10 上的 OWIN WebApi 项目对所有操作均给出 404

    我有一个 OWIN WebAPI 项目 它在 OwinSelfHost 中工作 但在 IIS 10 上托管时总是导致 404 唯一有效的是初始页面 public index html 我在 Windows 10 计算机上运行 IIS 10