2010-12-15 65 views
0

我有1个C#控制台应用程序项目,它具有Program.cs(包含主要方法),主要方法简单地调用一个Web服务方法,并在控制台上显示字符串。在控制台应用程序生产WCF服务参考问题

通过右键单击并添加服务引用它,服务引用添加到项目中。

  • 当控制台应用程序在Visual Studio的调试模式下执行时,它按预期工作。

  • 当控制台应用程序从/ bin/debug中找到的.exe执行时,它按预期工作。

迄今为止这么好。

问题:

当项目复制到系统(可以称之为生产环境),其中该.exe文件将实际执行时,它失败在哪里我创建了服务代理的确切行目的。 Program.cs中的行是:

ProjectName.ServiceReference.ServiceClient service = new ProjectName.ServiceReference.ServiceClient();

我知道它在这里失败,因为我有Console.Writeline(“some line”);在上面一行之前和之后。我可以看到代理行之前的Console.Writeline,之后它崩溃了......

我认为这是因为引用该服务的引用路径,是否有任何事情可以改变路径,或确认这是路径问题,因为怀疑......?

任何想法最新怎么回事..?

+0

它没有“失败”。有一个例外。抛出了什么异常?如果有疑问,请使用try/catch块围绕您的代码,并对异常执行Console.WriteLine(ex.ToString())。 – 2010-12-15 19:49:09

+0

k,只是分钟让我这样做... – user402186 2010-12-15 19:56:19

+0

k,这里我们去,例外有以下消息 – user402186 2010-12-15 20:06:48

回答

0

检查此链接:http://blog.davidsandor.com/post/Workaround-The-configuration-for-the-servicee280a6Unrecognized-element-e28098extendedProtectionPolicye28099.aspx

的服务引用的配置不能因 以下问题更新:无法识别的元素 “extendedProtectionPolicy”。 (App.config/Web.config)

似乎没有一个真正清楚的原因,为什么发生这种情况 但它似乎与Windows 7有关。我不确定是否运行的.NET框架 与Win7有一些不同的设置或 模板为WCF配置策略文件,但它似乎是 罪魁祸首。也许machine.config文件在Win 7和 上不同,WCF配置工具使用machine.config作为某种 策略模板。

该修复很烦人(因为每当您在Windows 7上构建您的解决方案,然后在Vista上重建时,您都必须重做此操作)。

删除行:

<extendedProtectionPolicy policyEnforcement="Never" />

从客户端上,并在WCF 服务器的Web.config文件中两个你的App/Web.config文件。

+0

我的上帝...它浪费了我的2天... – user402186 2010-12-15 20:34:46

+0

非常感谢..... MMMWMWWWAAAAAHHHHHH – user402186 2010-12-15 20:36:41

+0

链接无法正常工作 – user2323308 2013-12-20 11:53:28

相关问题