Tag: system.net

我从哪里引用缺less的程序集(System.Net.Http.Formatting)?

在我的Visual Studio 2013 RC项目中,我收到了这个错误消息: “ types'System.Net.Http.Formatting.MediaTypeFormatter'是在未引用的程序集中定义的,必须添加对程序集”System.Net.Http.Formatting,Version = 4.0.0.0,Culture = neutral, PublicKeyToken = 31bf3856ad364e35' “ …在控制器中的"var response = "代码行上: public HttpResponseMessage PostDelivery(Delivery delivery) { delivery = repository.Add(delivery); var response = Request.CreateResponse<Delivery>(HttpStatusCode.Created, delivery); string uri = Url.Link("DefaultApi", new { id = delivery.Id }); response.Headers.Location = new Uri(uri); return response; } search我的硬盘上所需的程序集(“System.Net.Http.Formatting”),它显示了它存在的几个位置,但它们都在现有的项目中,如下所示: 当然有另一个位置System.Net.Http.Formatting.dll可以被引用! 但是哪里? UPDATE 试图按照这里的线索: http : […]

检查HttpStatusCode是否代表成功或失败

我们假设我有以下variables: System.Net.HttpStatusCode status = System.Net.HttpStatusCode.OK; 我怎样才能检查这是一个成功的状态代码或失败? 例如,我可以执行以下操作: int code = (int)status; if(code >= 200 && code < 300) { //Success } 我也可以有一些白名单: HttpStatusCode[] successStatus = new HttpStatusCode[] { HttpStatusCode.OK, HttpStatusCode.Created, HttpStatusCode.Accepted, HttpStatusCode.NonAuthoritativeInformation, HttpStatusCode.NoContent, HttpStatusCode.ResetContent, HttpStatusCode.PartialContent }; if(successStatus.Contains(status)) //LINQ { //Success } 这些替代方法都不能说服我,我希望有一个.NET类或方法可以为我做这个工作,比如: bool isSuccess = HttpUtilities.IsSuccess(status);

EnsureSuccessStatusCode的使用和处理抛出的HttpRequestException

什么是HttpResponseMessage.EnsureSuccessStatusCode()的使用模式? 它处理消息的内容并抛出HttpRequestException ,但是我看不到如何以一种通用的Exception来编程处理它。 例如,它不包括HttpStatusCode ,这本来是非常方便的。 有没有办法从中获得更多信息? 任何人都可以显示EnsureSuccessStatusCode()和HttpRequestException的相关使用模式?

什么是IP地址“:: 1”?

我在本地机器上玩sockets,没有networking连接。 见下文: IPAddress address = IPAddress.Any; // doesn't work IPAddress address = IPAddress.Parse("::1"); // works 那么究竟是什么::1 IP地址? 它是默认的可用IP地址还是它的回送地址? 上面的代码(工作线)在具有专用IP地址和networking连接的计算机上会发生什么? 编辑: 确切的代码是用来绑定一个特定的IP地址到套接字。 这里是: ServicePoint sp = ServicePointManager.FindServicePoint(uri); sp.BindIPEndPointDelegate = new BindIPEndPoint(Bind); // here's the bind delegate: private IPEndPoint Bind(ServicePoint sp, IPEndPoint ep, int retryCount) { return new IPEndPoint(IPAddress.Parse("::1"), 0); }

用C#通过HTTP POST发送文件

我一直在寻找和阅读,并没有任何罚款任何真正有用的东西。 我正在写一个小的C#赢得应用程序,允许用户发送文件到Web服务器,而不是通过FTP,但通过HTTP使用POST。 把它想象成一个Web窗体,但在Windows应用程序上运行。 我有我的HttpWebRequest对象创build使用这样的事情 HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest 并设置Method , ContentType和ContentLength属性。 但是,我可以走多远。 这是我的一段代码: HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest; req.KeepAlive = false; req.Method = "POST"; req.Credentials = new NetworkCredential(user.UserName, user.UserPassword); req.PreAuthenticate = true; req.ContentType = file.ContentType; req.ContentLength = file.Length; HttpWebResponse response = null; try { response = req.GetResponse() as HttpWebResponse; } catch (Exception […]