草庐IT

响应206

全部标签

c# - 如何在 Web Api 中使用 Httpclient 并响应 Ok 获取对象

我的webapi就像publicasyncTaskRegisterUser(Useruser){//UserImplementationherereturnOk(user);}我正在使用HTTPClient来请求如下所述的WebAPI。varclient=newHttpClient();stringjson=JsonConvert.SerializeObject(model);varresult=awaitclient.PostAsync("api/users",newStringContent(json,Encoding.UTF8,"application/json"));在客户端应

c# - ASPNET Core 服务器发送事件/响应刷新

虽然没有官方文档,但有谁知道如何使用ASP.NETCore实现SSE?我怀疑一种实现可能会使用自定义中间件,但也许可以在Controller操作中做到这一点? 最佳答案 客户端-wwwroot/index.html在页面加载时,为http://www.somehost.ca/sseurl创建一个EventSource。然后将其事件写入控制台。varsource=newEventSource('sse');source.onmessage=function(event){console.log('onmessage:'+event.d

c# - Owin SelfHost WebApi - 客户端在响应期间关闭连接会引发异常吗?

我正在运行一个基于OwinSelfhost的WebApi,我已经通过放入了一个API未处理的异常记录器config.Services.Add(typeof(IExceptionLogger),_apiExceptionLogger);ApiExceptionLogger相关部分:publicoverridevoidLog(ExceptionLoggerContextcontext){if(context==null||context.ExceptionContext==null)return;Logger.Error("UnhandledexceptionfromWebAPI",con

c# - 来自 ASP.Net Web API 2 的统一、一致的错误响应

我正在开发一个WebAPI2应用程序,我目前正在尝试以统一的方式格式化错误响应(这样消费者也将知道他们可以检查哪些数据对象/结构以获取有关错误的更多信息).这是我到目前为止所得到的:{"Errors":[{"ErrorType":5003,"Message":"Errorsummaryhere","DeveloperAction":"SomemoredetailforAPIconsumers(insomecases)","HelpUrl":"linktothedocsetc."}]}这适用于应用程序本身抛出的异常(即内部Controller)。但是,如果用户请求错误的URI(并获得40

c# - 如何使用 WebBrowser 控件捕获 JSON 响应

我使用WebBrowser.Navigate()发布到网站的JSON响应URL。一切顺利,包括正在调用的webBrowser1_DocumentCompleted()事件处理程序。但是我没有得到可以编程处理的“安静”响应(例如webBrowser1.Document),而是收到一个文件下载对话框:如果我单击Save按钮并稍后检查该文件,它包含我期望的JSON响应。但我希望程序在代码中捕获此JSON响应,而不显示该对话框并且不必单击Save按钮。如何使用WebBrowser控件捕获JSON响应?注意:在发布这个问题之前,我搜索了SO,我发现的只是一个类似的问题,接受的答案并没有真正解释如

c# - 您能否从 AuthorizeAttribute 返回 HTTP 响应而不抛出异常?

我在各种Controller上使用AuthorizeAttribute,这些Controller可能需要根据请求本身的某些属性返回403或429(请求太多)。我完全在自定义OnAuthorization实现中实现了它,然后在必要时抛出一个带有适当响应代码的新HttpResponseException。在我的机器上运行良好...在大规模(每分钟数千个请求)下,此实现非常糟糕,以至于它导致网站崩溃。将相同的逻辑移动到Controller操作本身并仅返回适当的HttpResponseMessage就性能而言效果很好,因此在OnAuthorization中抛出异常的代价似乎是性能问题的根本原因

c# - 如何使用 IHttpActionResult 对 Created-201 响应进行编码

如何使用IHttpActionResult对Created-201响应进行编码?IHttpActionResult只有这些选项好的列表项未找到异常(exception)未经授权错误请求冲突重定向无效模型状态我现在正在做的是下面这段代码,但我想使用IHttpActionResult而不是HttpResponseMessagepublicIHttpActionResultPost(TaskBasemodel){HttpResponseMessageresponse=Request.CreateResponse(HttpStatusCode.Created,model);response.H

c# - 是否有现成的 .NET 方法来处理 HttpListener HttpListenerRequest 主体的响应主体?

我正在使用HttpListener为本地主机上使用另一种技术编写的应用程序提供Web服务器。该应用程序使用简单的表单提交(application/x-www-form-urlencoded)向我的软件发出请求。我想知道是否已经编写了一个解析器来将html请求文档的主体转换为哈希表或等效项。考虑到.NET似乎已经提供了这么多,我很难相信我需要自己写这个。提前致谢 最佳答案 你的意思是像HttpUtility.ParseQueryString给你一个NameValueCollection?这是一些示例代码。您需要更多的错误检查,并可能使

C# - 从 403 错误获取响应正文

我在从URL请求数据时收到403错误。这是预料之中的,我不是在问如何更正它。将此URL直接粘贴到我的浏览器中时,我会得到一个基本信息字符串,描述权限被拒绝的原因。我需要通过我的C#代码读取此基本错误消息,但是当发出请求时,会抛出System.Net.WebException(“远程服务器返回错误:(403)禁止访问。”)错误,并且响应正文我不可用。是否可以简单地抓取页面内容而不抛出异常?相关代码几乎是您所期望的,但无论如何它就在这里。HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(sPageURL);try{//Theex

c# - 当 HTTP 状态不是 200 OK 时,ASP.NET 获取 Web 响应

在响应状态代码不是200OK的情况下,我需要从HTTPGET读取响应。有时候是401,有时候是403,不过会有一个Response的内容。如果我尝试使用HttpWebResponse和HttpWebRequest类,当响应状态不是200OK时它会抛出异常。有什么建议吗? 最佳答案 varrequest=(HttpWebRequest)WebRequest.Create("http://stackoverflow.com/1");try{using(WebResponseresponse=request.GetResponse()){