Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Wcf IIS 7无法识别svc文件_Wcf_Web Services_Iis 7 - Fatal编程技术网

Wcf IIS 7无法识别svc文件

Wcf IIS 7无法识别svc文件,wcf,web-services,iis-7,Wcf,Web Services,Iis 7,我正在尝试在IIS7上使用WCF发布Web服务 我已经为这个项目创建了一个站点,我还创建了一个应用程序。我可以从创建的文件夹在浏览器中打开html文件,但如果我尝试访问我的服务的svc文件,则会出现404.3错误(由于扩展配置,您请求的页面无法提供服务)。我已经读到应该运行servicemodelreg来安装svc文件缺少的处理程序。之后,我得到一个错误,说处理程序有一个坏模块 我每次都检查以下内容: IIS已打开 ASP.NET已打开 svc文件有一个处理程序 我没有主意了…如果IIS安装

我正在尝试在IIS7上使用WCF发布Web服务

我已经为这个项目创建了一个站点,我还创建了一个应用程序。我可以从创建的文件夹在浏览器中打开html文件,但如果我尝试访问我的服务的svc文件,则会出现404.3错误(由于扩展配置,您请求的页面无法提供服务)。我已经读到应该运行servicemodelreg来安装svc文件缺少的处理程序。之后,我得到一个错误,说处理程序有一个坏模块

我每次都检查以下内容:

  • IIS已打开
  • ASP.NET已打开
  • svc文件有一个处理程序

我没有主意了…

如果IIS安装在.NET Framework和Visual Studio之后,就会发生这种情况,因此有必要注册ASP.NET。如果首先安装IIS,则不会出现此类问题

但解决方案很简单:打开
visualstudio命令Promt
并键入此命令

aspnet_regiis.exe -i

下面是一个示例,其中包含有关此命令及其参数的更详细信息。

在windows 8上,运行
DISM.exe
以启用
WCF

DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation
DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45
或者,如果您正在使用Server manager Dashboard的添加角色和功能向导设置所有内容,请不要忘记检查WCF服务下的“HTTP激活”


对于Windows 8,要启用WCF,必须在管理员启动的Visual Studio命令提示符中运行以下命令:

DISM /Online /Enable-Feature /FeatureName:WAS-WindowsActivationService
DISM /Online /Enable-Feature /FeatureName:WAS-ProcessModel
DISM /Online /Enable-Feature /FeatureName:WAS-NetFxEnvironment
DISM /Online /Enable-Feature /FeatureName:WAS-ConfigurationAPI
DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation
DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45

执行以下步骤以在Windows 10上的IIS下启用SVC文件处理

  • 按Window键+R(它将弹出运行命令,键入可选功能,然后按enter键
  • 它将带来程序功能向导。确保选择以下选项,如快照所示
  • 遵循以下快照中提到的步骤


    您在事件日志中看到了什么?您是否有一个
    /bin
    文件夹,其中是否包含服务二进制文件?请尝试运行aspnet\u regis.exe-i,并将应用程序的applicationpool设置为Framework 4。@vortex:是的,aspnet\u regis是缺少的链接!这很奇怪,因为我在我的电脑上执行了相同的步骤,但没有出现此问题,b但当我在笔记本电脑上再次尝试时,它成功了。无论如何,如果你将此作为答案发布,我会标记它!我在Windows 8上遇到了类似问题。不幸的是,上述功能不受支持。你需要转到“控制面板”,打开或关闭Windows功能,并确保勾选了.NET 3.5和4.5下所需的功能。是的,在Windows 8中,它具有以下功能:但是为什么呢?我不明白为什么微软一直在把这样简单的基本东西改成复杂的添加/删除功能,顺便说一句.NET 4完全没有了(它应该意味着滴答声.NET 4.5意味着.NET 4,但为什么这么乱,而不是简单的aspnet_regis命令)@Visar他们可能决定创建一个向导,以便人们可以查看UI。但他们没有将其作为一种替代方式添加并保留这两种配置方式,而是删除了命令行工具。这非常出乎意料。也就是说,不要忘了启用“HTTP激活”在角色和功能设置向导的WCF功能列表下..谢谢!当您没有安装Visual Studio时,此功能在Windows Server 2012中工作。这正是我所需要的!很棒的图形帖子!+1我先卸载了(使用“DISM/Online/Disable feature”),然后重新安装并工作!