控制台应用程序中生产的WCF服务参考问题

时间:2010-12-15 19:45:10

标签: wcf

我有1个c#Console应用程序项目,它有Program.cs(包含main方法),main方法简单调用web服务方法并在控制台上显示字符串。

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

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

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

到目前为止一切顺利。

问题:

当项目被复制到系统(您可以将其称为生产环境),实际执行此.exe时,它会在创建服务代理对象的确切行中失败。 Program.cs中的行是:

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

我知道它在这里失败了,因为我有Console.Writeline(“某些行”);在上述行之前和之后。我可以看到代理行之前的Console.Writeline,不久之后就崩溃了......

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

任何想法都会出错...... ???

1 个答案:

答案 0 :(得分:0)

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

  

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

     

似乎没有一个非常明确的理由说明为什么会这样   但它似乎与Windows 7有关。我不确定是否   Win7附带的.NET框架有一些不同的设置或   WCF配置策略文件的模板,但似乎是   罪魁祸首。也许win.and上的machine.config文件是不同的   WCF配置工具使用machine.config作为某种方式   政策模板。

     

修复很烦人(因为每次你构建你的解决方案   Windows 7然后在Vista上重建你必须重做这个。)

     

删除该行:

     

<extendedProtectionPolicy policyEnforcement="Never" />

     

来自客户端和WCF上的App / Web.config文件   服务器的Web.config文件。