【问题标题】:What am I doing wrong in hosting my Web API app on the network?在网络上托管我的 Web API 应用程序时我做错了什么?
【发布时间】:2014-03-18 18:11:19
【问题描述】:

我按照this article 中的步骤进行操作,但是当我在浏览器中输入我的 IP 地址(机器名称)和按照这些说明设置的端口号(即 8090)时,我只看到了我的目录列表网站:

注意:使用直接 IP 地址(代替机器名称)会得到完全相同的结果。

对于 Web API 站点/应用程序,我是否需要在纯 IP 地址/机器名 + 端口号 URL 上附加一些内容?

根据 IIS 管理器,我已成功设置要运行的应用程序:

Web API 应用程序没有 Default.aspx “起点”页面或类似的页面;我应该使用其他类似的东西吗?我试过了:

http://shannon2:8090/Web.config

...但这给了我:

HTTP 错误 404.8 - 未找到 请求过滤模块被配置为拒绝 URL 中包含 hiddenSegment 部分的路径。

我错过了什么步骤?

注意:参考的文章有一个IIS 8下载,但是根据控制面板,我已经安装了IIS 8,所以我没有重新安装它。然而,IIS 管理器的关于框显示它是版本 7.5.7600.16385 (?!?)

有没有办法强制使用版本 8 而不是这个?在这种情况下重要吗?

更新

根据我在这里阅读的内容 [http://msmvps.com/blogs/deborahk/archive/2014/02/18/the-world-s-simplest-angularjs-example-in-visual-studio.aspx],特别是“按照惯例,应用程序的主文件是 Index.html”,我也尝试了这个:

http://shannon2:8090/Index.html

...但是得到了:

HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

但我的项目中并没有真正的 Index.html 文件,所以我猜这是在黑暗/轻信飞跃中的一次尝试。

【问题讨论】:

    标签: iis asp.net-web-api iis-express application-pool


    【解决方案1】:

    您看到目录列表是因为您所指的页面告诉您启用目录浏览。

    我不确定这位先生想在该链接中表达什么。我认为他试图传达如何在网络中访问您的“文件”。但是,禁用目录浏览,你应该没问题。

    并且 Web API 应该在应用程序池设置中的托管管道中运行。

    【讨论】:

    • 当我禁用目录浏览时,它确实生效了,因为现在,当我尝试导航到 shannon2:8090 时,我得到:“HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出此目录的内容。”那么如何将 Web API 设置为“在托管管道中运行”? BTW:你真的是成吉思汗的妈妈吗?
    • 两个选项是“经典”和“集成”;你同意还是不同意写那篇文章的猫(谁推荐“经典”)?无论使用哪种设置,结果都是相同的(错误 403.14)。
    猜你喜欢
    • 1970-01-01
    • 2023-02-21
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    • 2013-10-16
    • 2021-02-26
    • 1970-01-01
    相关资源
    最近更新 更多