【问题标题】:IIS offers .svc file for download instead of executing it on the server!IIS 提供 .svc 文件供下载,而不是在服务器上执行它!
【发布时间】:2010-02-16 11:32:10
【问题描述】:

如果我不理会它,我的 RESTful WCF Web 服务似乎会自行中断!我可以让我的电脑保持一切正常,当我返回并使用简单的 url 请求测试服务时,它会为我提供 .svc 文件以供下载,而不是在服务器上发起请求!

此 WCF 服务位于根目录下它自己的 IIS 应用程序文件夹中。我可以通过在 Visual Studio 中打开 IIS 子文件夹、删除 web.config 文件然后再次添加它来重新启动服务。

我的第一个想法是 .svc 的 HTTP 处理程序映射已经失效,所以我重新运行了 ServiceModelReg.exe -i,但这并没有解决问题。

查看此 IIS 应用程序的处理程序映射,它们看起来是正确的,并且是从 Web 根目录继承的。值得一提的是,该站点还有另一个应用程序文件夹,该文件夹运行来自 .svc 文件的 WCF 服务,并且仍然可以正常运行!

现在我已经检查了明显的内容,我对接下来要看的地方有点困惑!希望有人有建议...

【问题讨论】:

    标签: asp.net wcf configuration rest


    【解决方案1】:

    您运行的是 IIS6 还是 IIS7?什么 .NET 版本?

    IIS6: http://blog.stevensanderson.com/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/

    IIS7: 测试这个: "%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -r -y

    你真的需要在其余 url 中添加 .svc-extension 吗?

    这可能会解决问题: http://west-wind.com/weblog/posts/570695.aspx

    【讨论】:

    • 感谢您的链接,一旦服务启动并运行,我确实想删除我的 .svc 扩展名。我确实设置了 URL 重写,但是,它没有任何区别。在第一次成功访问后,我的 RESTful URI 仍然提供 .svc 文件供下载。
    【解决方案2】:

    试试

    转到程序和功能,然后打开或关闭 Windows 功能。

    Microsoft.net 框架 3.5.1。

    确保两个选项都被选中

    Windows Communication Foundation HTTP 激活

    Windows Communication Foundation 非 HTTP 激活

    希望这会有所帮助。

    【讨论】:

    • 这两个选项都未选中,所以我启用了它们,但是不幸的是它并没有解决问题。
    【解决方案3】:

    查看这篇关于正确映射扩展的文章:

    IIS Hosted Service Fails

    编辑:您是否在应用程序中托管服务?也许您的应用程序池挂了?

    【讨论】:

    • 感谢您的建议,使用文章我可以确认扩展名映射正确。
    • 不,我在 IIS (v7.5) 中托管
    【解决方案4】:

    好吧,我最终还是明白了这一点。只是 IE/IIS 的一个奇怪的怪癖。我通过将我的 REST URI 放在 IE 的地址栏中进行测试,如果一切正常,我希望看到一个 JSON 页面。这是第一次使用该服务时会发生的情况。在进一步的尝试中,IE 将提供下载一个名为“FooService.svc”的文件,该文件实际上包含我的 JSON 数据 - 我从未被提供下载我的服务器端 svc 文件。

    哼哼,电脑啊。不能和他们一起生活,...

    【讨论】:

      【解决方案5】:

      在 IIS 7 中为连接的应用程序池启用 32 位运行

      它解决了我的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-07-28
        • 2014-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-20
        • 1970-01-01
        相关资源
        最近更新 更多