我正在尝试将 wcf webhttp 服务部署到 IIS 上。我正在运行 Windows 7、IIS 7.5、VS2010。
步骤 - 创建了一个项目 WCF 休息服务应用程序。- 将项目发布到本地主机 - 确保应用程序池是 .net 4.0
但是,当尝试通过http://localhost/HelloRest访问在(默认网站/HelloRest)发布的服务时
它给出了一个错误——
错误摘要 HTTP 错误 500.19 - 内部服务器错误 此配置部分不能用于此路径。当该部分锁定在父级别时会发生这种情况。锁定是默认情况下 (overrideModeDefault="Deny") 或由具有 overrideMode="Deny" 或旧 allowOverride="false" 的位置标记显式设置的。
在配置源 模块 runAllManagedModulesForAllRequests="true" 突出显示
有什么我想念的吗?当我从 vs 执行时,服务工作得很好。在 globals.asax 我有 -
RouteTable.Routes.Add(new ServiceRoute("PrintHelloWorld", new WebServiceHostFactory(), typeof(HelloRestService)));
从 vs2010 http://localhost:59404/PrintHelloWorld/执行时, 返回 hello world。但是,一旦发布
http://localhost/HelloRest/PrintHelloWorld 也返回相同的错误。
编辑 想出了解决方案。- 我在安装 .net 框架后安装了 IIS。在命令行中执行 asp.net 注册工具 - 转到 Windows\Microsoft.NET\Framework\v4.0.30319 中的目录,键入 aspnet_regiis.exe -ir
现在它开始工作了。