Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用WebScriptServiceHostFactory的WCF web服务_Asp.net_Wcf - Fatal编程技术网

Asp.net 使用WebScriptServiceHostFactory的WCF web服务

Asp.net 使用WebScriptServiceHostFactory的WCF web服务,asp.net,wcf,Asp.net,Wcf,我正在使用WCF启动一个新项目,以便使用jQuery对服务器进行AJAX调用。我过去在配置WCF时遇到过各种各样的问题,所以我决定做一些新的研究,看看VB中WCF的文档水平是否有所提高。不幸的是,WCF文档对我来说仍然像作为CTP发布时一样阴云密布 然而,我重新发现了WebScriptServiceHostFactory,并决定尝试一下。从我从多个来源收集到的信息来看,我应该能够在.svc文件中使用WebScriptServiceHostFactory,而不必担心尝试遍历WCF的ABC(双关语)

我正在使用WCF启动一个新项目,以便使用jQuery对服务器进行AJAX调用。我过去在配置WCF时遇到过各种各样的问题,所以我决定做一些新的研究,看看VB中WCF的文档水平是否有所提高。不幸的是,WCF文档对我来说仍然像作为CTP发布时一样阴云密布

然而,我重新发现了WebScriptServiceHostFactory,并决定尝试一下。从我从多个来源收集到的信息来看,我应该能够在.svc文件中使用WebScriptServiceHostFactory,而不必担心尝试遍历WCF的ABC(双关语)

我构建了一个项目,该项目通过LinqToSql连接到SQL服务器并返回一个数据集。我包括WebScriptServiceHostFactory,还添加了

 <system.serviceModel>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
 </system.serviceModel>

转到web.config。但是,当我运行它时,我收到了可怕的“此服务的安全设置需要‘匿名’身份验证,但托管此服务的IIS应用程序未启用”错误消息,当我第一次开始使用WCF时,这条消息一直困扰着我

我重写了函数,只返回一个字符串,而不是连接到数据库,等等,只是为了看看它是否能工作,但我得到了同样的结果

所以问题是,除了将工厂添加到.svc文件和前面提到的serviceHostingEnviroment选项添加到web.config之外,我做错了什么

我也尝试过在IIS的目录安全选项卡中选中并取消选中“启用匿名访问”。(我已检查集成Windows和摘要Windows身份验证)


一如既往,谢谢

这些文章和博客文章可能有助于您开始:

此外,对于您的IIS托管问题,Dominick Baier写道:

IIS身份验证设置
我注意到的另一件事是,WCF需要 要启用的匿名身份验证,请执行以下操作: IIS中的.svc文件(不考虑 WCF身份验证设置)。如果你 将.svc文件放到现有的 使用Windows的ASP.NET应用程序 您将看到此错误 信息:

“此服务的安全设置 需要“匿名”身份验证,但 未为IIS启用它 承载此服务的应用程序。“

您必须单独启用 对.svc文件的匿名访问 让它发挥作用

因此,您可以遵循这种做法,也可以选择自行托管WCF服务,而不是依赖IIS—这可能会立即解决大量问题,并让您对托管进行更多控制