windows service 无法访问网络

javaoraspx 2014-08-05 05:24:05
客户机器上面安装了360,和ISA服务器.然后软件的登录是经过一个windows service进行网络访问.却怎么也无法访问网络.

远程过去后退出了360.关闭了windows的防火墙.依然无法访问.

然后用相同的登录代码发了一个exe过去.却能正常访问数据

为什么exe能正常访问网络.而写的service服务却不能访问网络?两者调用的代码是一样的!

是不是ISA服务器可以设置局域网络中的电脑某些服务不能有访问权?

如果有. 怎么设置?详细点.要发给客户的网管解除

2. 为什么windows服务很容易被杀软给误报为病毒. 只是有个网络访问权呀?






试试邀请,没有用过.
...全文
274 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
javaoraspx 2014-08-12
  • 打赏
  • 举报
回复
引用 7 楼 findcaiyzh 的回复:
如果代理服务器需要 authentication的话,那得保证以域用户运行windows service。
我设置的是 LocalService 客户的机器不是很清楚是否加入域没有. 我本机是加入了公司的域,自己电脑跑是没有问题. (其他客户使用正常) 期间调试代码的时候. 发现一个特别的问题. 不知为什么? 设置ie浏览器代理后.

  Dim webProxy As IWebProxy
            Dim wbp As System.Net.WebProxy = System.Net.WebProxy.GetDefaultProxy()
            If (Not IsNothing(wbp.Address)) Then  '这个普通exe程序是可以正常拿到 代理服务的ip和端口.,而服务却怎么都不能拿到
                IComm.comUtil.PrintErrorHandle("使用代理地址" & wbp.Address.ToString)
                webProxy = WebRequest.GetSystemWebProxy()
            Else
                webProxy = WebRequest.DefaultWebProxy
            End If
            WebProxy.Credentials = CredentialCache.DefaultNetworkCredentials
            request.Proxy = WebProxy
'最后在app.config 里面设置了
<system.net>
		<defaultProxy useDefaultCredentials ="false">
			<proxy bypassonlocal ="False"  proxyaddress ="http://192.168.2.133:8888"/>
	 </defaultProxy> 
设置后. 服务 使用 request.Proxy 时能设置 proxyaddress="http://192.168.2.133:8888" 了. 但是却无返回数据.继续研究下..
tigerleq 2014-08-12
  • 打赏
  • 举报
回复
一个service 就够了,不需要 每台都按,如果每台都要改,就是你们的软件,部署得不对。
tigerleq 2014-08-12
  • 打赏
  • 举报
回复
tigerleq 2014-08-12
  • 打赏
  • 举报
回复
管理工具 里去改就可了,找到你的 service ,双击,在登录里去改
rtdb 2014-08-12
  • 打赏
  • 举报
回复
试试 LocalService 换 NETWORK SERVICE 。
宝_爸 2014-08-08
  • 打赏
  • 举报
回复
如果代理服务器需要 authentication的话,那得保证以域用户运行windows service。
javaoraspx 2014-08-08
  • 打赏
  • 举报
回复
还是不行.....唉
rtdb 2014-08-08
  • 打赏
  • 举报
回复
windows service的缺省运行帐户可能没有网络权限,给他换个用户试试。
javaoraspx 2014-08-06
  • 打赏
  • 举报
回复
引用 3 楼 dongxinxi 的回复:
<system.net>
    <defaultProxy useDefaultCredentials="false">
      <proxy usesystemdefault="True" bypassonlocal="False" autoDetect="True" />
    </defaultProxy>
  </system.net>
thanks 这个得试试

 Dim request As HttpWebRequest = TryCast(WebRequest.Create(url), HttpWebRequest)
        request.Referer = Referer
        request.Method = Method.ToUpper
        request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.1124)"
        request.AllowAutoRedirect = AllowAutoRedirect
        request.ContentType = ContentType 
        request.Accept = ContentType
        Dim webProxy As IWebProxy = WebRequest.DefaultWebProxy
        webProxy.Credentials = CredentialCache.DefaultNetworkCredentials
        request.Proxy = webProxy
        request.Timeout = tmout
        request.AutomaticDecompression = System.Net.DecompressionMethods.GZip
        Return request
Dim webProxy As IWebProxy = WebRequest.DefaultWebProxy webProxy.Credentials = CredentialCache.DefaultNetworkCredentials request.Proxy = webProxy 不知我这句话是不是能和那个system.net 的效果是一样的? 客户那边调试要等下午下班的时候才能远程一会儿.我这边也没有他们那边的环境.不好测试.
  • 打赏
  • 举报
回复
<system.net>
    <defaultProxy useDefaultCredentials="false">
      <proxy usesystemdefault="True" bypassonlocal="False" autoDetect="True" />
    </defaultProxy>
  </system.net>
  • 打赏
  • 举报
回复
检查中间有无代理服务器设置,域控制== 你用EXE会自己默认读取代理配置(如果有) 但是服务里,要做到自适应,需要显式配置
mlqxj35674 2014-08-05
  • 打赏
  • 举报
回复
360、防火墙也不会拦截Http请求啊,查看你的web.config文件配置内容是否正确

110,476

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧