问题标签 [system.net]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - System.Net 是如何实现的?
我正在学习 C# 网络,我意识到我完全依赖 System.Net 网络框架(并不是说这是一件坏事)。我不明白如何在不依赖任何框架的情况下使用标准语言功能通过 C# 连接到网络。
.net - 下载文件 - ConnectStream.Read 超时
问题- 通过 WebClient 或 HTTPWebRequest 下载大量文件时,下载将随机但定期挂起并给出“System.Net.WebException:操作已超时。”。使用 HTTPWebRequest 时,我可以看出这个异常是通过读取流从 ConnectStream.Read 方法中引发的。更改读取流的方法,Stream.CopyTo vs Stream.ReadByte vs Stream.Read,没有任何影响。
我已经通过为下载添加一些重试代码来阻止这个异常对我们的软件产生任何影响,但我真的很想知道是什么导致了这个异常?
背景- 作为我们自定义数据同步的一部分,我们的软件必须通过 HTTPS 从我们的在线服务器 (IIS7) 下载许多 zip 文件(小于 2 mb)。在我们的一台开发机器上,我们遇到了上述问题,但我们没有在运行完全相同代码的同一台机器上遇到它。
c# - 如何将 BufferList 与 SocketAsyncEventArgs 一起使用而不会得到 SocketError InvalidArgument?
我可以使用 SetBuffer 和 SocketAsyncEventArgs 就好了。
如果我尝试使用 BufferList(在执行 SetBuffer(null, 0, 0) 之后),当我在套接字上执行 SendAsync 时,我总是立即得到 SocketError InvalidArgument (10022)。
没有关于如何使用 BufferList 以及我正在做的事情的示例或文档(无论如何对我来说)。
有人可以指出一个示例程序或代码片段吗?
我正在为此撕扯头发,剩下的不多了...
这基本上是我正在做的事情(e 是 SocketAsyncEventArgs 和 lSocket 是我用于 SetBuffer 的同一个套接字)
asp.net-web-api - Web Api:未找到 System.Net.Http 版本 2.0.0.0
当我为 WebApi 安装 NuGet 包时,它为我提供了 System.Net.Http 的 1.0.0.0 版本,但它引用了版本 2。
我似乎无法为我的生活找到第 2 版。当我下载 .net 4.5 时,我得到 System.Net.Http 版本 4.0.315.x,但我不能使用它,因为 Web Api 程序集引用版本 2.0.0.0。
有人知道我在哪里可以找到这个版本 2.0.0.0 吗?我已经尝试过 NuGet 包管理器、mvc4、.net 4.5,但没有给我版本 2。
提前致谢。
c# - HttpWebRequest.Create 和防火墙
我需要检查给定主机是否正在回复 HTTP Web 请求。所以,我需要做的就是 HttpWebRequest.Create(someURI) 并检查响应,对吧?
好吧,出现的问题是,如果 someURI 被我们的防火墙阻止(例如“gibber.com”被阻止),那么我会返回一个有效的 HttpWebResponse,它不会抛出,并且 ResponseURI 属性设置为被阻止URI(“gibber.com”)即使它实际上是我们的服务器响应。
在 HTTP 标头中会有一个 Location 键,它的值是本地服务器的 IP。但是我不想解析文本来确定请求是否真的被退回。这样做的正确方法是什么?
谢谢
silverlight - 无法将 System.Net.Http 包安装到 Windows Phone 7.1 Silverlight 项目中
我使用 Nuget 安装“Microsoft ASP.NET Web API 客户端库”来获取最新的 System.Net.Http 程序集,用于 Windows Phone 7.1 XNA 和 Silverlight 项目。它可以很好地安装到我的 WP7.1 XNA 项目中,但不允许我将它安装到 WP7.1 Silverlight 项目中。我什至尝试将它直接从包管理器控制台安装到新创建的 WP7.1 Silverlight 项目中,并得到以下错误响应:
System.Net.Http 是否与 WP7.1 Silverlight 项目兼容,如果是,我怎样才能让它工作?
谢谢
c# - 由于保护级别,C# 命令行无法访问
我正在尝试将基于命令行的 HTTP 发布到网页,该命令行可以登录并检索一些数据或执行其他操作。我有所有代码,但它不喜欢静态字段 Main 中的非静态内容,我该如何解决这个问题?
是我的一个班级的代码。
给我错误。
我可以把它公开,它给了我错误。
c# - WebClient UploadFileAsync 报告中的奇怪行为
我需要一些关于奇怪 WebClient.UploadFileAsync() 行为的帮助。我正在使用 POST 方法将文件上传到远程 HTTP 服务器(nginx)。POST 通过 PHP 脚本(地址指代)进行处理。
我有这个简单的代码
在 UploadProgressChanged 中,我只需使用给定的 ProgressPercentage 更新 progressBar。第一个问题是报告的进度百分比,任何文件大小都是:
所以,在网上搜索,我发现从 50->100 的跳跃只是百分比报告中的一个设计选择......所以我很好。奇怪的问题是,即使在 50%(发送整个文件时),网络接口仍然会产生流量并且仍在上传。事实上,从上面日志中的时间可以看出,文件发送后需要 7 秒才能引发 UploadFileCompletedEvent..事实上,与此同时,我仍然通过 HTTP 发送文件。
这里的问题是我无法可靠地更新我的 UI:进度条会增长到 50%,但随后会卡住等待上传完成(这是一种不好的行为,因为对于大文件,这个时间会显着增长)。
问题是:如何可靠地让用户了解文件上传进度?
谢谢。
PS该方法工作得很好,文件已正确上传到远程服务器。唯一的问题是进度报告。
c# - 使用任务并行检索包含 html 文档源的字符串
我真的希望有人对TPL
&System.Net
类和方法都有足够的经验
一开始只是对当前顺序操作集的使用的简单想法TPL
导致我停止了我的项目。
由于我对 .NET 还很陌生,所以使用 TPL 直接跳到深水......
我试图使用提取 Aspx 页面的源/内容(html)WebClient
每天有多个请求(大约 20-30 页要通过)并从源代码中提取特定值......这只是服务器在其列表中的少数日常任务之一,
引导我尝试使用 TPL 来实现它,从而获得一些速度。
虽然我尝试使用Task.Factory.StartNew()
尝试迭代几个 WC 实例,但
在第一次尝试执行 WC 时,应用程序并没有从WebClient
这是我最后一次尝试
我究竟做错了什么?是否可以使用WebClient
使用 TPL 或者我应该使用其他工具(无法使用 IIS 7 / .net4.5)?
c# - Dns.GetHostEntry 不转换包含 IP 的字符串
该函数Dns.GetHostEntry
不ipaddresses
作为字符串处理,例如127.0.0.1
,但如果我作为参数传递google.de
,它工作得很好。
难道我做错了什么 ?