Asp.net 使用WebScriptServiceHostFactory的WCF web服务
我正在使用WCF启动一个新项目,以便使用jQuery对服务器进行AJAX调用。我过去在配置WCF时遇到过各种各样的问题,所以我决定做一些新的研究,看看VB中WCF的文档水平是否有所提高。不幸的是,WCF文档对我来说仍然像作为CTP发布时一样阴云密布 然而,我重新发现了WebScriptServiceHostFactory,并决定尝试一下。从我从多个来源收集到的信息来看,我应该能够在.svc文件中使用WebScriptServiceHostFactory,而不必担心尝试遍历WCF的ABC(双关语) 我构建了一个项目,该项目通过LinqToSql连接到SQL服务器并返回一个数据集。我包括WebScriptServiceHostFactory,还添加了Asp.net 使用WebScriptServiceHostFactory的WCF web服务,asp.net,wcf,Asp.net,Wcf,我正在使用WCF启动一个新项目,以便使用jQuery对服务器进行AJAX调用。我过去在配置WCF时遇到过各种各样的问题,所以我决定做一些新的研究,看看VB中WCF的文档水平是否有所提高。不幸的是,WCF文档对我来说仍然像作为CTP发布时一样阴云密布 然而,我重新发现了WebScriptServiceHostFactory,并决定尝试一下。从我从多个来源收集到的信息来看,我应该能够在.svc文件中使用WebScriptServiceHostFactory,而不必担心尝试遍历WCF的ABC(双关语)
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>
转到web.config。但是,当我运行它时,我收到了可怕的“此服务的安全设置需要‘匿名’身份验证,但托管此服务的IIS应用程序未启用”错误消息,当我第一次开始使用WCF时,这条消息一直困扰着我
我重写了函数,只返回一个字符串,而不是连接到数据库,等等,只是为了看看它是否能工作,但我得到了同样的结果
所以问题是,除了将工厂添加到.svc文件和前面提到的serviceHostingEnviroment选项添加到web.config之外,我做错了什么
我也尝试过在IIS的目录安全选项卡中选中并取消选中“启用匿名访问”。(我已检查集成Windows和摘要Windows身份验证)
一如既往,谢谢 这些文章和博客文章可能有助于您开始:
我注意到的另一件事是,WCF需要 要启用的匿名身份验证,请执行以下操作: IIS中的.svc文件(不考虑 WCF身份验证设置)。如果你 将.svc文件放到现有的 使用Windows的ASP.NET应用程序 您将看到此错误 信息: “此服务的安全设置 需要“匿名”身份验证,但 未为IIS启用它 承载此服务的应用程序。“ 您必须单独启用 对.svc文件的匿名访问 让它发挥作用 因此,您可以遵循这种做法,也可以选择自行托管WCF服务,而不是依赖IIS—这可能会立即解决大量问题,并让您对托管进行更多控制