繁体   English   中英

WCF .svc文件在IIS7.5 .NET 4.0中作为纯文本提供 - 不在默认网站下

[英]WCF .svc file served as plain text in IIS7.5 .NET 4.0 - Not under Default Web Site

最终更新 :由于DotNetNuke模块的压缩问题,原来这是一个红鲱鱼。 我不得不添加到PageBlaster DNN模块,所以这不再是一个问题。

我是第一次将WCF svc文件部署到我的实时网站 ,它以纯文本形式呈现/提供给浏览器。 它在localhost上的开发环境中工作正常。 你可以在这里看到问题:

http://www.pokerdiy.com/test.svc

该网站在带有.NET 4.0集成应用程序池中的 Windows Server 2008 R2版本6.1 SP1(64位)上的IIS 7.5.7600.16385上运行(我使用的是Entity Framework 4.2)。

更新:在实时服务器上,该站点被添加为一个网站(即不在默认网站下),而在我的开发环境中,DotNetNuke作为虚拟目录在默认网站下运行,它有自己的web.config(我与现场网站上的相比,是相同的)。

有趣的是,当我在实时服务器上并浏览到DEfault网站中的test.svc文件时,它可以工作( http://localhost/Test.svc ) - 但是,PokerDIY.com网站下的那个没有( http://www.pokerdiy.com/test.svc )。 所以我的默认网站似乎与其他网站有所不同?

另一个有趣的事情:我删除了所有.svc Handler Mappings,现在我可以得到“HTTP Error 404.3 - Not Found”错误。 所以Handler Mappings正在拦截它,它只是没有做任何事情! 我可以通过重新添加.svc Handler Mappings将其恢复为静态文本。

很多RTFMing后,我检查的第一件事就是处理程序映射为每MS文章:所有的SVC映射在那里(SVC集成在顶部为每本文

我也按照本文重新安装了WCF,没有任何区别。 使用Fiddler我可以看到Content-Type是“text / html”

我还能尝试什么?

注意:ASMX webservices,ASP.NET文件等都可以正常工作。

更新 :我的托管服务提供商建议我将服务所在的目录放入虚拟目录,我不需要在Dev的本地计算机上执行此操作。 所以现在它使用父网站appool并且在leats它正在做某事 - 它得到一个不同的错误。 这听起来不正确 - 为什么它不会被网站appool处理? 我将.svc移动到根目录( http://www.pokerdiy.com/test.svc )以从等式中删除它。

我尝试过的其他事情:将模块runAllManagedModulesForAllRequests =“false”更改为“true”(在我的web.config中为false )%windir%\\ Microsoft.NET \\ Framework64 \\ v4.0.30319 \\ aspnet_regiis.exe -ir IIS中的WCF 在IIS上运行.net 4 WCF服务时 作为纯文本文件 404(没有svc文件)

确保已启用Application Server角色。

确保目录浏览也“禁用”

我的托管服务提供商表示,网站下的目录(“/ framework”)需要配置为虚拟目录并使用父AppPool。

当我这样做时,svc似乎确实得到了处理(我得到另一组.NET错误)。

但是,在我的开发环境中,子文件夹不是一个单独的虚拟目录 - 是否需要?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM