WCF:如何禁用WCF测试客户端

26

我创建了一个新的WCF应用程序,它有一个svc文件和一个代码后台。当我尝试调试(F5)时,我看到以下情况:

  1. 如果svc文件是打开的,并按下F5,则会打开网页浏览器。
  2. 如果代码后台文件当前已打开,并按下F5,则会打开WCF测试客户端。

为什么会出现不同的行为?我不想使用测试客户端,如何在应用程序中禁用它,以使它不再出现。

Atul Sureka

8个回答

32

打开项目属性,在“调试”选项卡下,您将看到类似于 启动选项 的东西 /client:"WcfTestClient.exe",删除该行。

对于 WCF 服务应用程序和 WCF 工作流服务应用程序,您需要修改 .csproj.user 文件。完整的写作在此处找到

关键部分是

    <WebProjectProperties>
      <EnableWcfTestClientForSVC>False</EnableWcfTestClientForSVC>
    </WebProjectProperties>

4
对于我的VS 2013版本,这并没有起作用,我在这里找到了解决方案:https://dev59.com/Z2Up5IYBdhLWcg3wdnh6 - alan
将该属性添加到项目文件中对我来说完美地起作用了。谢谢! - FinalFanatic
在VS2019中添加属性对我很有用。 - Christian
在这个修复程序正常工作之前,我不得不重新启动VS2022。 - Pleebo

5

我在不同公司多次走过这条道路...... 我忘记了,但我找到了这个页面,虽然它对一些人是很好的建议,但对我没有帮助。

对于我的WCF应用程序,真正解决这个问题的方法是:

Note:  Visual Studio 2013  FYI

1. Right click on the your WCF project and click Properties
2. Click on left "Web" link/tab  --> Notice the Start Action Section
3. Check Radio Button   "Specific page"   
4. Enter your .svc example   Service1.svc  
5. Set project as startup and either hit F5 or right click and debug
6. Now the WCF Test Client launches   (for me at least) 

希望这能帮助其他人。

1
实际上他想要禁用测试客户端的启动,你的答案是为了启用它。为了对我禁用它,我进入了特定页面...并将其设置为空白。然后项目将在浏览器中启动。 - joedotnot
非常感谢。虽然您没有提供他想要的答案,但您还是帮了很大的忙。我一直在寻找能够启用WCF测试客户端的东西。我很高兴您提供了这个答案。 - Ladislav Ondris

4
右键单击 WCF 项目->选择属性->调试 在调试中,您可以看到指定的命令行参数为/client:"WcfTestClient.exe" 删除这个参数将不会在运行服务时启动测试客户端。
此致
敬礼,
Venkatarajan Arthanari

4
由于这是 WCF 应用项目类型,所以没有调试选项。我进入了 WCF 项目 -> 选择属性 --> Web --> 在“启动操作”下有一些选项。然而,我找不到任何地方传递"/Client:WCFTestClient.exe"参数。 - Atul Sureka
2
我刚刚发现,如果我在记事本中打开csproj文件并将EnableWcfTestClientForSVCDefaultValue的值设置为False,则测试客户端将停止出现。但是,我无法从UI中获得任何选项来更改EnableWcfTestClientForSVCDefaultValue的值。我有什么遗漏吗? - Atul Sureka

2

为了以后查看……当我在一个svc文件中,按下F5,它总是启动这个实用程序……我尝试了项目文件中的参数,但不起作用……

然后,在属性中,我将Web设置从“当前页面”更改为我的默认页面 :)

现在我不再每次弹出此实用程序:)


2

要控制在Visual Studio 2015/2017中自动启动WCF测试客户端,您可以执行以下操作:

解决方案资源管理器中右键单击WCF服务项目,选择属性,然后单击WCF选项选项卡。清除复选框在调试同一解决方案中的另一个项目时启动WCF服务主机(该复选框默认启用)。


我刚发现了同样的问题,但发现你已经先提供了答案。这对于调试自托管控制台等非常完美。 - David Graham

0

禁用 WCF 服务测试客户端

  1. 在解决方案资源管理器中,右键单击“解决方案 'YourServiceName'”,并转到属性
  2. 在“常规属性”中选择“启动项目”
  3. 启用“当前选择”单选按钮
  4. 点击“应用”
  5. 点击“确定”

现在打开您想要运行的任何服务,并按 F5。它将运行当前服务。


0

如果您想在浏览器中运行该项目,

  1. 进入项目属性
  2. 点击 -> Web
  3. 在服务器部分,提及iis(iisexpress,本地IIS),并指定URL "http://localhost:11111/"

这将把程序带到浏览器中

要仅将其带到WCF测试客户端, 按照上述步骤操作,但URL应指向服务。 http://localhost:11111/yourservice.svc ..即可。

谢谢


0

这很容易。

  • 1.- 打开项目属性。
  • 2.- 调试选项卡
  • 3.- 在“命令行参数”文本框中删除“/client:WcfTestClient.exe”。
  • 4.- 完成!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接