2017-07-19 64 views
0

我构建了一个使用一些API发送短消息的小型winform应用程序,当我在我的站点上运行它时,我的用户一切都很好,但是如果我在我的站点上运行它,不同的用户(改变用户对exe文件SHIFT +鼠标右键):webRequest do not work from different user

using (Stream requestStream = restRequest.GetRequestStream()) 

抛出异常

没有connectuion可以作出,因为目标机器积极 拒绝我F(IP地址)

但是当我的应用程序复制到其他用户站,并尝试运行它,它的做工精细,准确地做同样的我的用户

的问题是,代码应该是集成的应用程序使用已经WCF服务,将发送短信的和用户服务器IIS中applicationpool抛出同样的异常

什么会是什么?

我简单的代码:

JavaScriptSerializer jsonSerializer = new JavaScriptSerializer(); 
Dictionary<string, object> deserializedJsonDictionary; 

HttpWebRequest restRequest; 
WebResponse restResponse; 

try 
{ 
    string connectionParams = "{some json params for api...}"; 
    restRequest = (HttpWebRequest)WebRequest.Create(URI); 
    restRequest.Method = Method; //post 
    restRequest.ContentType = ContentType; // application/json 

    using (Stream requestStream = restRequest.GetRequestStream()) 
    { 
     byte[] inputStringBytes = Encoding.UTF8.GetBytes(connectionParams); 
     requestStream.Write(inputStringBytes, 0, inputStringBytes.Length); 
    } 

    using (restResponse = restRequest.GetResponse()) 
    { 
     using (Stream responseStream = restResponse.GetResponseStream()) 
     { 
      StreamReader rdr = new StreamReader(responseStream, Encoding.UTF8); 
      string Json = rdr.ReadToEnd(); 

      deserializedJsonDictionary = (Dictionary<string, object>)jsonSerializer.DeserializeObject(Json); 
     } 
    } 
} 
catch(Exception ex) 
{ 
    throw ex; 
} 
+0

是头不匹配,由于其拒绝连接?什么是服务的认证/授权要求? – Amit

+0

有一个用户名和密码,但它扔垃圾这之前获取到服务器,以防一些参数是错误的服务器说的用户名和密码,我的意思是本地认证(API请求的返回JSON机智的所有信息 –

+0

在这两种情况下) –

回答

1

我得到的问题,在我们公司解决

我们代理连接到互联网

,当我的用户登录,他拥有所有的设置他从GPO(包括代理) 需要的时候我试图与其他用户连接他根本没有代理服务器的设置,那就是问题

我所做的是简单地添加代理代码:

WebProxy proxy = new WebProxy("[my proxy address]", [my proxy port number]); 
proxy.BypassProxyOnLocal = false; 
request.Proxy = proxy;