Tag: system.net

解释System.Net.IPAddress的实例属性

我在理解System.Net.IPAddress类时遇到了一些麻烦,因为我不知道在哪里查找某些属性引用的定义。 具体来说,是什么: IPAddress.IsIPv6LinkLocal IPAddress.IsIPv6Multicast IPAddress.IsIPv6SiteLocal IPAddress.IsIPv6Teredo 我也很乐意接受一个解释这些概念的资源的答案。 MSDN网站certificate不足。

如何检测.Net中的公共IP地址(路由器/网关)的变化?

我知道NetworkChange.NetworkAddressChanged事件,但这仅适用于本地网络接口。 检测网关公共IP地址的最佳方法是什么? 据推测,人们必须通过轮询外部可靠的地址来做到这一点,例如google.com ……?

是否可以在Socket和TcpClient对象之间进行转换?

这是另一个C#/。NET问题仅基于好奇而不仅仅是一个迫切需要 …… 如果你有一个Socket实例并且你想将它包装在更高级别的TcpClient类中,那可能吗?你会怎么做? 相反,如果你有一个TcpClient实例,是否有可能得到底层的Socket ?

如何使用TcpClient对上传进行速率限制?

我正在编写一个将上传大量文件的实用程序,并希望提供限速上传的选项。 使用TcpClient类时,限速上传的最佳方法是什么? 我的第一个本能是一次调用具有有限字节数的NetworkStream.Write(),在调用之间hibernate(如果尚未写入流,则跳过调用),直到缓冲区被上传。 有没有人之前实现过这样的东西?

System.Net.WebClient奇怪地失败了

我试图从我们的TFS服务器上的报告服务实例下载一些数据。 鉴于代码应该在未加入域的计算机上运行,​​我想我会自己设置凭据。 没有运气,得到了一个HTTP 401 Unauthorized返回。 好的,所以我联系了Fiddler看看发生了什么。 但是当我得到Heisenberged时 – 现在这个电话顺利通过了。 因此认证通过Fiddler连接,但没有它就失败了。 Webclient是破碎的还是我在这里遗漏了一些深刻的东西? private void ThisWorksWhenDomainJoined() { WebClient wc = new WebClient(); wc.Credentials = CredentialCache.DefaultNetworkCredentials; wc.DownloadString(“http://teamfoundationserver/reports/……..”); //Works } private void ThisDoesntWork() { WebClient wc = new WebClient(); wc.Credentials = new NetworkCredential(“username”, “password”, “domain”); wc.DownloadString(“http://teamfoundationserver/reports/……..”); //blows up wih HTTP 401 }

在C#中以编程方式从app.config访问system.net设置

我试图以编程方式访问Windows应用程序app.config文件。 特别是,我试图访问“system.net/mailSettings”以下代码 Configuration config = ConfigurationManager.OpenExeConfiguration(configFileName); MailSettingsSectionGroup settings = (MailSettingsSectionGroup)config.GetSectionGroup(@”system.net/mailSettings”); Console.WriteLine(settings.Smtp.DeliveryMethod.ToString()); Console.WriteLine(“host: ” + settings.Smtp.Network.Host + “”); Console.WriteLine(“port: ” + settings.Smtp.Network.Port + “”); Console.WriteLine(“Username: ” + settings.Smtp.Network.UserName + “”); Console.WriteLine(“Password: ” + settings.Smtp.Network.Password + “”); Console.WriteLine(“from: ” + settings.Smtp.From + “”); 未能给予主持人。 它只获取端口号。 其余的都是空的;

WebClient UploadFileAsync正在进行报告中的奇怪行为

我需要一些奇怪的WebClient.UploadFileAsync()的行为帮助。 我正在将文件上传到远程HTTP服务器(nginx)usind POST方法。 POST通过PHP脚本(地址引用)处理。 我有这个简单的代码 public void uploadFile(string filePath) { webClient = new WebClient(); webClient.Credentials = new NetworkCredential(Constant.HTTPUsername,Constant.HTTPPassword); webClient.Headers.Add(“Test”, TestKey); webClient.UploadProgressChanged += webClient_UploadProgressChanged; webClient.UploadFileCompleted += webClient_UploadFileCompleted; try { webClient.UploadFileAsync(new Uri(Address), “POST”, filePath); } catch (Exception error) { throw new CustomException(error.Message); } } 在UploadProgressChanged中,我只需使用给定的ProgressPercentage更新progressBar。 第一个问题是报告的进度百分比,任何文件大小为: [17.38.14] Progress: 0 Bytes Sent: 175 / 269264 [17.38.14] Progress: 1 […]

如何在C#中获取IP地址?

假设计算机连接到许多网络(实际上不止一个)。 我可以获得一个IP地址列表,其中包括计算机在网络中的所有IP地址,但我怎么知道IP地址属于哪个网络?

使用.NET发布多个文件和表单值(控制台应用程序)

我想在一个 HTTP请求中将多个文件和表单变量POST到CGI脚本。 我相信这需要一个带有multipart/form-data编码的HTTPpost。 这是一个发送所需信息的示例HTML表单; 我需要通过应用程序发送相同的信息: 请注意,该应用程序是一个C#.NET GUI(或控制台)应用程序,而不是ASP.Net应用程序。

Json.Net – 从’System.Net.IPAddress’上的’ScopeId’获取值时出错

我试图用Json.Net序列化IPEndpoint对象,我得到以下错误: 从’System.Net.IPAddress’上的’ScopeId’获取值时出错。 错误的原因是我只使用端点中IPAddress对象的IPV4属性。 当Json解析器尝试解析IPv6部分时,它会访问ScopeID属性,该属性会引发套接字exception“对于引用的对象类型,不支持尝试的操作”(null将足以支持microsoft!) 我想知道除了撕掉所有内容并将地址信息编码为字符串之外是否还有其他解决方法? 在某些时候,我确实想支持IPV6。 如果IPAddress系列设置为Internetwork而不是InternetworkIPV6,是否有任何可以在Json.NET中完成忽略错误或只是不尝试序列化ScopeID? 谢谢, Dinsdale