Questions tagged «asp.net-web-api»

ASP.NET Web API是用于为客户端(如浏览器和移动设备)构建HTTP服务的框架。它基于Microsoft .NET Framework,是构建RESTful服务的理想选择。


19
IMDB是否提供API?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 最近,我找到了一个电影管理器应用程序,该应用程序可以从IMDB数据库中获取其数据。 IMDB是否为此提供API或任何可用的第三方API?

4
调用ConfigureAwait获取所有服务器端代码的最佳实践
当您拥有服务器端代码(即某些代码ApiController)并且您的函数是异步的(因此它们返回)Task<SomeObject>时,是否在任何时候都等待调用的函数是否被视为最佳实践ConfigureAwait(false)? 我已经读到它具有更高的性能,因为它不必将线程上下文切换回原始线程上下文。但是,对于ASP.NET Web Api,如果您的请求是在一个线程上传入的,并且您等待某个函数并调用ConfigureAwait(false),则在返回ApiController函数的最终结果时,该函数可能会将您置于另一个线程上。 我在下面输入了一个我正在谈论的例子: public class CustomerController : ApiController { public async Task<Customer> Get(int id) { // you are on a particular thread here var customer = await SomeAsyncFunctionThatGetsCustomer(id).ConfigureAwait(false); // now you are on a different thread! will that cause problems? return customer; } }

11
WCF与ASP.NET Web API的比较
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 我花了几个月的时间试图掌握WCF的概念,最近我开发了我的第一个WCF服务应用程序。 为了理解配置文件中的所有设置,我付出了很多努力。 我不相信环境,但是似乎可以用它做很多令人惊奇的事情。 前几天,我发现Microsoft推出了一个名为ASP.NET Web API的新产品。 据我所知,它是一个RESTful框架,非常易于使用和实现。 现在,我试图找出这两个框架之间的主要区别,以及是否应该尝试使用新的API 转换旧的 WCF服务应用程序。 有人可以帮我理解它们的区别和用法吗?
484 c#  wcf  asp.net-web-api 

16
将整数数组传递给ASP.NET Web API?
我有一个ASP.NET Web API(第4版)REST服务,我需要传递一个整数数组。 这是我的操作方法: public IEnumerable<Category> GetCategories(int[] categoryIds){ // code to retrieve categories from database } 这是我尝试过的URL: /Categories?categoryids=1,2,3,4

6
如何保护ASP.NET Web API [关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 我想使用ASP.NET Web API 构建RESTful Web服务,第三方开发人员将使用该服务访问我的应用程序的数据。 我已经阅读了很多有关OAuth的文章,这似乎是标准的,但是要找到一个很好的示例来说明其工作原理(实际上是有效的!)的文档似乎非常困难(特别是对于使用OAuth的新手)。 是否有一个实际构建和工作的示例,并显示了如何实现此示例? 我下载了许多示例: DotNetOAuth-从新手角度看文档是没有希望的 Thinktecture-无法构建 我也看过博客,提出了一个基于令牌的简单方案(像这样)-好像是在重新发明轮子,但是这样做的确在概念上相当简单。 在SO上似乎有很多类似问题,但没有好的答案。 每个人在这个空间里做什么?

11
在ASP.NET Web API中返回错误的最佳实践
我对我们向客户返回错误的方式感到担忧。 当收到错误消息时,是否通过抛出HttpResponseException立即返回错误消息: public void Post(Customer customer) { if (string.IsNullOrEmpty(customer.Name)) { throw new HttpResponseException("Customer Name cannot be empty", HttpStatusCode.BadRequest) } if (customer.Accounts.Count == 0) { throw new HttpResponseException("Customer does not have any account", HttpStatusCode.BadRequest) } } 否则我们会累积所有错误,然后发回给客户: public void Post(Customer customer) { List<string> errors = new List<string>(); if (string.IsNullOrEmpty(customer.Name)) { errors.Add("Customer …
384 c#  rest  asp.net-web-api 


6
ASP.NET MVC中的ApiController和Controller之间的区别
我一直在使用ASP.NET MVC 4 beta,现在我看到两种类型的控制器:ApiController和Controller。 在什么情况下可以选择特定的控制器,我一点也不困惑。 例如:如果我想返回视图,那么我必须使用ApiController还是普通的Controller?我知道WCF Web API现在已与MVC集成。 从现在开始,我们可以同时使用这两种控制器,请有人指出对应控制器的情况。

8
为什么我应该使用IHttpActionResult而不是HttpResponseMessage?
我一直在使用WebApi进行开发,然后转到了WebApi2,Microsoft在其中引入了一个新的IHttpActionResult接口,似乎建议将其用于返回a的接口HttpResponseMessage。我对这个新界面的优势感到困惑。它似乎主要只是提供了一种稍微容易些的创建方式HttpResponseMessage。 我认为这是“抽象的抽象”。我想念什么吗?除了节省一行代码之外,使用此新接口还能给我带来什么现实世界的好处? 旧方法(WebApi): public HttpResponseMessage Delete(int id) { var status = _Repository.DeleteCustomer(id); if (status) { return new HttpResponseMessage(HttpStatusCode.OK); } else { throw new HttpResponseException(HttpStatusCode.NotFound); } } 新方法(WebApi2): public IHttpActionResult Delete(int id) { var status = _Repository.DeleteCustomer(id); if (status) { //return new HttpResponseMessage(HttpStatusCode.OK); return Ok(); } else { //throw new HttpResponseException(HttpStatusCode.NotFound); …

7
从ASP.NET Web API中的控制器返回二进制文件
我正在使用ASP.NET MVC的新的WebAPI的网络服务,将成为了二进制文件,主要是.cab和.exe文件。 以下控制器方法似乎有效,这意味着它返回文件,但是将内容类型设置为application/json: public HttpResponseMessage<Stream> Post(string version, string environment, string filetype) { var path = @"C:\Temp\test.exe"; var stream = new FileStream(path, FileMode.Open); return new HttpResponseMessage<Stream>(stream, new MediaTypeHeaderValue("application/octet-stream")); } 有一个更好的方法吗?

9
如何将JSON POST数据作为对象传递给Web API方法?
ASP.NET MVC4 Web API应用程序定义了发布方法以节省客户。客户在POST请求正文中以json格式传递。post方法中的Customer参数包含属性的空值。 如何解决此问题,以便过帐的数据将作为客户对象传递? 如果可能的话,应该使用Content-Type:application / x-www-form-urlencoded,因为我不知道如何在发布表单的javascript方法中更改它。 控制器: public class CustomersController : ApiController { public object Post([FromBody] Customer customer) { return Request.CreateResponse(HttpStatusCode.OK, new { customer = customer }); } } } public class Customer { public string company_name { get; set; } public string contact_name { get; set; } …

5
ServiceStack与ASP.Net Web API [关闭]
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 10个月前关闭。 改善这个问题 我想编写一个新的REST风格的API,并仔细研究了ServiceStack。但是,我已经看到Microsoft作为新的MVC 4 beta的一部分发布了ASP.Net Web API项目。有没有人看过新的Web API项目?您能给出每个系统的优点/缺点吗?

6
从Web API使用HttpClient发布JsonObject
我正在尝试JsonObject通过HttpClientWeb API发布。我不太确定该怎么做,在示例代码中找不到太多。 这是我到目前为止的内容: var myObject = (dynamic)new JsonObject(); myObject.Data = "some data"; myObject.Data2 = "some more data"; HttpClient httpClient = new HttpClient("myurl"); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = httpClient.Post("", ???); 我想我需要把我JsonObject当成演员,StreamContent但是我对此很挂念。

6
HttpContent.ReadAsAsync在哪里?
我在网络上使用新HttpClient对象(作为新Web API的一部分)的大量示例中看到应该有HttpContent.ReadAsAsync<T>方法。但是,MSDN没有提到此方法,IntelliSense也没有找到它。 它去了哪里,我该如何解决?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.