小编Jes*_*ca 的帖子

在.svc上具有Factory属性的WCF服务在Web服务器(IIS6)上不起作用,但在本地使用IIS7?

我正在使用.svc文件中的工厂属性实现WCF服务的非web.config方法,每个Rick Strahl的博客文章:

工厂= "System.ServiceModel.Activation.WebScriptServiceHostFactory"

在本地,我在Visual Studio 2008中运行IIS7并没有问题,但是当我部署到我的Web服务器(当前运行IIS6)时,我在事件日志中收到身份验证错误:

异常:System.ServiceModel.ServiceActivationException:由于编译期间发生异常,无法激活服务'/Services/ResourcesService.svc'.异常消息是:IIS指定的身份验证方案"IntegratedWindowsAuthentication,Anonymous",但绑定仅支持一种身份验证方案的规范.有效的身份验证方案是Digest,Negotiate,NTLM,Basic或Anonymous.更改IIS设置,以便只使用一个身份验证方案.. ---> System.InvalidOperationException:IIS指定的身份验证方案"IntegratedWindowsAuthentication,Anonymous",但绑定仅支持一个身份验证方案的规范.有效的身份验证方案是Digest,Negotiate,NTLM,Basic或Anonymous.更改IIS设置,以便仅使用单个身份验证方案.在System.ServiceModel.Web.WebServiceHost.SetBindingCredentialBasedOnHostedEnvironment(ServiceEndpoint serviceEndpoint,AuthenticationSchemes supportedSchemes)在System.ServiceModel.Web.WebServiceHost.AddAutomaticWebHttpBindingEndpoints(ServiceHost的主机,IDictionary`2 implementedContracts,字符串multipleContractsErrorMessage)在System.ServiceModel.WebScriptServiceHost.OnOpening()在位于System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)的System.ServiceModel.Channels.CommunicationObject.Open()处的System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout),System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable( String normalizedVirtualPath)

在做了一些谷歌搜索后,我将我的项目(在服务器上)的.svc文件夹上的身份验证设置更改为仅匿名身份验证,但它不起作用.我仍然在通话中获得Web服务失败.IIS7默认只有匿名.

我的web.config中没有任何条目用于服务(我按照这种模式剥离了它们).

我正在使用一个nant脚本将网站部署到服务器,并在本地使用它来验证脚本不会导致问题.

这个有任何已知问题吗?IIS 6无法处理?

wcf iis-7 iis-6

4
推荐指数
1
解决办法
5660
查看次数

标签 统计

iis-6 ×1

iis-7 ×1

wcf ×1