首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在IIS6.0上部署WCF服务

如何在IIS6.0上部署WCF服务
EN

Stack Overflow用户
提问于 2010-01-06 05:31:26
回答 3查看 10.4K关注 0票数 6

我在Windows Server 2003上安装了IIS 6.0。

我安装了.NET 3.5和4 beta 2。“正常”的ASP工作正常(完美)。但是当我试图导航到我的服务(/myServer/MyService.svc)时,我得到了一个404。找不到页面。

确切地说,我得到了一个404 2 "Web服务扩展锁定策略阻止这个请求。“

我使用ServiceModelReg.exe /ia来确保我知道的扩展名,并使用以下命令检查配置:

admin-Tools,iis,home-tab,configuration,executable-box,还有:

扩展名:.svc,路径:c:\windows\microsoft.net\framework\v4.0.210...,谓词:所有谓词。

所以一切看起来都很好。但我还是得了404-2分。

EN

回答 3

Stack Overflow用户

发布于 2010-05-06 16:23:02

您的"web服务扩展锁定策略“正在阻止ASP.NET 4.0ISAPI扩展处理您的请求。它发生在我身上,看看这个:

代码语言:javascript
复制
C:\>cscript c:\WINDOWS\system32\iisext.vbs /ListFile
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Connecting to server ...Done.

Status / Extension Path
------------------------
0  C:\WINDOWS\system32\inetsrv\httpodbc.dll
0  C:\WINDOWS\system32\inetsrv\ssinc.dll
0  C:\WINDOWS\system32\inetsrv\asp.dll
1  C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
0  *.exe
0  C:\WINDOWS\system32\inetsrv\httpext.dll
0  *.dll
1  C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll
1  C:\WINDOWS\system32\MQISE.DLL
0  C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll

你有没有像我一样,在v4.0 aspnet_isapi.dll旁边有一个"0“?这就是你的问题所在。您需要启用它:

代码语言:javascript
复制
C:\>cscript c:\WINDOWS\system32\iisext.vbs /EnFile C:\WINDOWS\Microsoft.NET\Frame
work64\v4.0.30319\aspnet_isapi.dll
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Connecting to server ...Done.
Enabling extension file complete.

有关iisext.vbs工具的更多信息,请访问:http://support.microsoft.com/kb/328419/

票数 7
EN

Stack Overflow用户

发布于 2010-01-06 05:38:34

你能向我们展示你的服务器端web.config (仅仅是<system.serviceModel>部分)吗?您的服务在您的服务器上的什么位置运行?

在IIS中托管时,您的服务地址由以下各项定义:

  • 服务器名称(或IP地址)
  • *.svc文件所在的虚拟目录(以及该目录下的任何子目录)的名称
  • *.svc文件本身

所以它应该是这样的:

代码语言:javascript
复制
http://YourServer/YourVirtualDirectory/MyService.svc

您似乎没有在您提到的路径中使用虚拟目录-您的*.svc文件是否真的位于web服务器的根目录中,或者您是否忘记将虚拟目录添加到您的路径中?

票数 2
EN

Stack Overflow用户

发布于 2010-02-13 02:15:02

事实证明,这篇博客文章中的信息对实现这一点非常有价值。

http://xamlcoder.com/blog/?p=7

我对IIS6不太确定,但我在IIS7中创建了一个新网站(我无法在虚拟目录下运行,但这可能是我缺乏IIS知识)我将.svc文件放在根目录下的~/Services/中

一切开始都很顺利。

该博客提到,IIS应该在任何时候提供.svc文件时自动在~/Services/中查找,但这不起作用。这就是为什么我简单地将.svc文件复制到我的网站根目录。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2009233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档