部署WCF服务时手动创建虚拟目录。

问题描述:

我有WCF服务文件夹让我们说: “TestService的”,它包含以下TestServide文件夹下的文件夹和文件:部署WCF服务时手动创建虚拟目录。

TestService的文件夹中包含: 1.bin(文件夹) 2.Config(文件夹) 3.TestService .SVC(文件) 4.WebConfig(文件)

当我去INETMGR,并尝试浏览TestService.svc文件,WCF服务打开successully: 路径: https://localhost/TestService/TestService.svc

question

我剪切并粘贴bin文件夹下的两个文件(TestService.svc和WebConfig)。现在该文件夹heirachy变化如下:

TestService的文件夹中包含: 1.bin(文件夹)中包含 一).TestService.svc(文件) B).WebConfig(文件)

2.Config(文件夹)

现在我再次进入bin文件夹并打开TestService.svc打开iexplorer它不会打开并提供以下错误。

路径:https://localhost/TestService/bin/TestService.svc 错误:页面无法找到 技术信息(用于支持人员) 背景: 您试图从一个目录不允许程序执行CGI,ISAPI或其他可执行程序被执行。 更多信息:

我是否需要更改任何内容以便我的svc文件能够正常工作?

如果您的web.config和TestService.svc现在位于TestService/bin中,则需要创建指向该位置的IIS Web应用程序。

您不能有指向“TestService”的IIS Web应用程序(虚拟目录),然后将该web.config和TestService.svc放在该IIS Web应用程序的子目录中。

IIS Web应用程序必须指向web.config所在的物理路径,并且* .svc文件必须位于同一目录(不是子目录!)中。

Marc

+0

我可以更改现有wcf服务应用程序的路径,使其指向bin文件夹吗? 我通过转到TestService的属性页(Propeties-> Web)来做到这一点。在“使用本地IIS Web服务器”上,我将http:// localhost/TestService的路径更改为http:// localhost/TestService/bin。 但是在这种情况下,虚拟目录被创建为不同的层次。 – 2009-10-07 07:09:59

+0

是的,你可以 - 你需要为此使用IIS管理工具。在IIS Mgmt工具中,您可以查看您的虚拟目录/ IIS webapps并更改它们的属性,包括它们指向的物理路径。 – 2009-10-07 07:39:41

+0

我已经通过IIS管理工具映射了虚拟目录,但是当我移动子目录中的svc文件时,它会给出错误。 – 2009-10-07 08:50:55