WCF Proxy Authentication Required(407)

WCF Proxy Authentication Required(407)

The Problem

When I’m in the office, I have to use an authenticated proxy to get outside our intranet and to the internet. When I called a service that resides on the web, I got the 407 error. How can we fix this without having to provide an account to our application

The Solution

The answer is actually pretty simple. The answer has nothing to do with WCF, but everything to do with System.Net.

System.Net’s default web proxy does not have the UseDefaultCredentials flag switched on by default. It’s false. Creating a new WebProxy object with the flag set to true is problematical… it turns out to be quite hard to find out the address and port of the default web proxy at runtime, because this is essentially a dynamic thing, and not (as previously thought in the .NET 1.x era) a static thing.

So by far the best thing to do is use your app’s App.Config file to tell System.Net to use the default credentials for authentication to an HTTP proxy server. Something like this:

<system.net>
    <defaultProxy useDefaultCredentials="true">
      <proxy autoDetect="True"/>
    </defaultProxy>
  </system.net>

A nice article that helped me out: http://sticklebackplastic.com/post/2007/01/26/Poxy-proxies.aspx

时间: 2024-10-12 13:27:16

WCF Proxy Authentication Required(407)的相关文章

WCF揭秘学习笔记(2):数据表示

背景知识 WCF提供了一种语言为软件通信建模,称作服务模型.使用更底层的编程架构提供的类可以从这种语言建立的模型中生成可用的通信软件. 在服务模型使用的语言中,负责通信的软件部分称为服务(service).一个服务具有一个或多个通信的终结点,终结点包括地址.绑定和契约. 地址的作用比较简单,它通过使用URL指定服务的唯一地址. 绑定指定了客户端与服务器间的通信协议.绑定至少需要分别提供一种编码消息和传输消息的协议. 契约指定了在一个终结点可以执行的操作. 以上节中的契约为例: //契约[Serv

重温WCF之会话Session(九)

转载地址:http://blog.csdn.net/tcjiaan/article/details/8281782 每个客户端在服务器上都有其的独立数据存储区,互不相干,就好像A和服务器在单独谈话一样,所以叫会话. 下面,我们写一个例子,看看在不支持会话的绑定上连续调用两个有关联的代码,会发生什么情况. [ServiceContract] public interface IService { [OperationContract(IsOneWay = true)] void SetValue(

WCF技术剖析之十一:异步操作在WCF中的应用(上篇)

原文:WCF技术剖析之十一:异步操作在WCF中的应用(上篇) 按照操作执行所需的资源类型,我们可以将操作分为CPU绑定型(CPU Bound)操作和I/O绑定型(I/O Bound)操作.对于前者,操作的执行主要利用CPU进行密集的计算,而对于后者,大部分的操作处理时间花在I/O操作处理,比如访问数据库.文件系统.网络资源等.对于I/O绑定型操作,我们可以充分利用多线程的机制,让多个操作在自己的线程并发执行,从而提高系统性能和响应能力.服务调用就是典型的I/O绑定型操作,所以多线程在服务调用中具

WCF技术剖析之十一:异步操作在WCF中的应用(下篇)

原文:WCF技术剖析之十一:异步操作在WCF中的应用(下篇) 说完了客户端的异步服务调用(参阅WCF技术剖析之十一:异步操作在WCF中的应用(上篇)),我们在来谈谈服务端如何通过异步的方式为服务提供实现.在定义服务契约的时候,相信大家已经注意到了OperationContractAttribute特性具有一个bool类型的AsynPattern.该属性可以将一个服务操作定义成异步实现模式,接下来的内容主要是着眼于介绍异步操作的定义和实现原理. 一.异步操作的定义和实现原理 实现WCF异步服务操作

WCF探索之旅(五)——WCF与WebService的异同

前几篇文章我们简单的介绍了WCF以及如何使用它,今天我们来讨论一下WCF和WebService的异同. 相信大多数同学跟我一样,对于WebService有所了解,而且应该说你是先听说WebService,后听说还有个WCF的,对不对?那好,我们今天来一起看看,这两者有何不同. WebService是标准,是一种规范.严格来说WebService是一种行业标准,不是一种特定的技术.而WCF是一种WebService的实现.在WCF之前,微软系列中有ASP.NET Web Service,后来微软做

WCF 一步一步 发布 WCF服务 到 IIS (图)

WCF 一步一步 发布 WCF服务 到 IIS (图) 使用VS自带的WCFSVCHost(WCF服务主机)发布WCF服务,时刻开发人员测试使用. 下面我们来看一下如何在IIS中部发布一个WCF服务. 环境是VS 2008 (公司电脑没有安装VS2010)^_^ 我们从头开始,不写代码,完全的配置,会收获不小. 新建一个WCF 服务库 建立一个WCF服务应用程序 结果如下 删除掉WCF程序中不需要的默认文件,如下图   为WcfService1项目添加WcfServiceLibrary1的引用,

重温WCF之消息契约(MessageContract)(六)

对于SOAP来说主要由两部分构成Header和Body,他们两个共同构成了SOAP的信封,通常来说Body保存具体的数据内容,Header保存一些上下文信息或关键信息.比如:在一些情况下,具有这样的要求:当序列化一个对象并生成消息的时候,希望将部分数据成员作为SOAP的报头,部分作为消息的主体.比如说,我们有一个服务操作采用流的方式进行文件的上载,除了以流的方式传输以二进制表示的文件内容外,还需要传输一个额外的基于文件属性的信息,比如文件格式.文件大小等.一般的做法是将传输文件内容的流作为SOA

重温WCF之数据契约(四)

1.使用数据协定可以灵活控制哪些成员应该被客户端识别. [DataContract] public class Employee { [DataMember] public string Name { get; set; } [DataMember] public int Age { get; set; } [DataMember] public string City { get; set; } } [ServiceContract] public interface IService { [

WCF探索之旅(四)——程序中WCF服务整合

我们在之前的博客已经完成过实例,大家也看到了如何使用WCF服务: 添加服务引用-->输入服务地址-->实例化服务-->调用服务方法 那么今天为什么要再次说"程序中WCF服务整合"这个话题? 用过WebService的人都知道,随着服务的增多,管理WebService是一个非常繁重的工作.好了,今天我们的目标来了--让WCF服务变得整齐.有序.易管理! 首先,我们建立一个工厂类,这个工厂用来实例化我们的服务.这样做的好处是,所有的服务都是由工厂实例化的. 然后我们要建立