How to secure an ASP.NET Web API

I want to build a RESTful web service using ASP.NET Web API that third-party developers will use to access my application's data. I've read quite a lot about OAuth and it seems to be the standard, but finding a good sample with documentation explaining how it works (and that actually does work!) seems to be incredibly difficult (especially for a newbie to OAuth). Is there a sample tha

如何保护ASP.NET Web API

我想用第三方开发人员用来访问我的应用程序数据的ASP.NET Web API构建一个RESTful Web服务。 我已经阅读了很多关于OAuth的文章 ,它似乎是标准,但是找到一个很好的样本,并附有说明它如何工作的文档(实际上它确实有用!)似乎非常困难(特别是对于OAuth的新手来说)。 是否有一个实际构建和运行的示例,并展示如何实现? 我已经下载了大量样本: DotNetOAuth - 从新手的角度来看,文档是无望的 Thinktecture - 无

servicestack REST API and CORS

Anyone know if the servicestack framework can be used to create CORS REST services? I've been banging my haed against the WCF REST stuff for days now - utterly useless. Thanks Using the CorsFeature plugin Enabling Global CORS support We now have a CorsFeature which wraps CORS headers into the Plugin below to make it much easier to add CORS support to your ServiceStack services. Co

服务堆REST API和CORS

任何人都知道是否可以使用servicestack框架来创建CORS REST服务? 我几天来一直对WCF REST的东西感兴趣 - 完全没用。 谢谢 使用CorsFeature插件 启用全球CORS支持 我们现在有一个CorsFeature ,它将CORS头文件封装到下面的插件中,以便更容易地为您的ServiceStack服务添加CORS支持。 通常这是现在所需的一切: Plugins.Add(new CorsFeature()); 其中使用默认值: CorsFeature(allowedOrigins:"*", allowedMet

Return JSON file with ASP.NET Web API

I am trying to return a JSON file using ASP.NET Web API (for testing). public string[] Get() { string[] text = System.IO.File.ReadAllLines(@"c:data.json"); return text; } In Fiddler this does appear as a Json type but when I debug in Chrome and view the object it appears as and array of individual lines (left). The right image is what the object should look like when I am using it.

使用ASP.NET Web API返回JSON文件

我正在尝试使用ASP.NET Web API返回一个JSON文件(用于测试)。 public string[] Get() { string[] text = System.IO.File.ReadAllLines(@"c:data.json"); return text; } 在Fiddler中,这看起来像Json类型,但是当我在Chrome中调试并查看它显示的对象时,以及单个行的数组(左)。 正确的图像是当我使用它时对象的外观。 任何人都可以告诉我,我应该返回什么才能以正确的格式实现Json结果? alt http://i47.tin

Put content in HttpResponseMessage object?

Several months ago, Microsoft decided to change up the HttpResponseMessage class. Before, you could simply pass a data type into the constructor, and then return the message with that data, but not anymore. Now, you need to use the Content property to set the content of the message. The problem is that it is of type HttpContent, and I can't seem to find a way to convert a string, for exam

将内容放入HttpResponseMessage对象中?

几个月前,微软决定改变HttpResponseMessage类。 之前,您可以简单地将数据类型传递给构造函数,然后用该数据返回消息,但现在不再了。 现在,您需要使用Content属性来设置消息的内容。 问题在于它是HttpContent类型的,我似乎无法找到将字符串转换为HttpContent的方法。 有谁知道如何处理这个问题? 非常感谢。 对于字符串而言,最快捷的方法是使用StringContent构造函数 response.Content = new StringContent("Your

converting an object to HttpContent

This question already has an answer here: Could not load file or assembly 'Newtonsoft.Json' or one of its dependencies. Manifest definition does not match the assembly reference 25 answers ASP.net core return Json with status code 5 answers How do I get ASP.NET Web API to return JSON instead of XML using Chrome? 29 answers

将对象转换为HttpContent

这个问题在这里已经有了答案: 无法加载文件或程序集“Newtonsoft.Json”或其某个依赖项。 清单定义与装配参考25答案不匹配 ASP.net核心返回Json与状态码5的答案 如何让ASP.NET Web API使用Chrome返回JSON而不是XML? 29个答案

How to return content in specified 'Accept' format from Web API aciton

I have a Web API controller action where I want to set response headers and also return the content in the requested format specified by the Accept header. Unfortunately if I'm using a typed action or IHttpActionResult for the action's return type, I can't set the headers, but the content negotiation works. I'd have to return HttpResponseMessage to be able to specify headers i

如何从Web API aciton以指定的'Accept'格式返回内容

我有一个Web API控制器操作,我想要设置响应头,并以Accept头指定的请求格式返回内容。 不幸的是,如果我对操作的返回类型使用了类型化操作或IHttpActionResult ,我无法设置标题,但内容协商起作用。 我必须返回HttpResponseMessage才能在动作中指定标题,但是之后我需要为ObjectContent指定格式化程序。 虽然我只支持XML或JSON类型,但我仍然不想刻录在丑陋的条件中来检查返回类型应该是什么。 有没有办法很好地做到这

ASP.NET WebAPI OData 406

I have an issue with getting a fairly simple OData WebAPI service to work. Outside of the metadata query on ~/ and ~/$metadata checking my own entity set returns a 406. When debugging the controller (see below) the GET request gets routed through, the db is queried and data is actually returned. However a 406 is still generated afterwards. The expected response is a properly formatted JSON re

ASP.NET WebAPI OData 406

我有一个相当简单的OData WebAPI服务工作的问题。 在〜/和〜/ $元数据的元数据查询之外,检查我自己的实体集合会返回一个406.当调试控制器时(见下文)GET请求被路由通过,数据库被查询并且实际返回数据。 然而,406之后仍然生成。 预期响应是格式正确的JSON响应字符串,显示查询〜/ Crops时的所有数据行。 请注意,其中一些对我来说仍然是黑魔法,所以请随时详细说明任何回应。 接线如下: Global.asax中 public class

Type is not specified

I have a Web API project that returns some product data. If no Accept header is specified it returns XML as default, done like so in my WebApiConfig : config.Formatters.Clear(); config.Formatters.Add(new XmlMediaTypeFormatter()); config.Formatters.Add(new JsonMediaTypeFormatter()); config.Formatters.Add(new FormUrlEncodedMediaTypeFormatter()); So default is XML, the first formatter, but the A

类型未指定

我有一个返回一些产品数据的Web API项目。 如果没有指定Accept头,它将默认返回XML,在我的WebApiConfig这样做: config.Formatters.Clear(); config.Formatters.Add(new XmlMediaTypeFormatter()); config.Formatters.Add(new JsonMediaTypeFormatter()); config.Formatters.Add(new FormUrlEncodedMediaTypeFormatter()); 所以默认是XML,第一个格式化器,但是如果请求请求它,API仍然支持JSON。 在我的ControllerHelper

Returning PageResult from WebAPI not formatting as OData

I'm attempting to migrate a WebAPI-based app from WebAPI RC to the release version. It takes in some query parameters, and returns ATOM-formatted OData. Since it's a running service, I need to maintain the current behavior. I've changed the API methods to return a PageResult<T> with my data in it. According to the Supporting OData Query Options article on MSDN that should b

从WebAPI返回PageResult不格式化为OData

我试图将基于WebAPI的应用程序从WebAPI RC迁移到发行版本。 它需要一些查询参数,并返回ATOM格式的OData。 由于它是一个正在运行的服务,我需要维护当前的行为。 我已经改变了API方法来返回一个带有我的数据的PageResult<T> 。 根据MSDN上的支持OData查询选项文章,这应该是我需要做的,但它不起作用。 我得到结果,但它总是格式化为JSON。 我试着将Accept请求头改为application/atom+xml ,但它似乎没有任何区别。

Web Api and MVC Individual Account

in visual studio 2013 i've created a web api project (selecting also mvc framework in the wizard) Anyway in the Controllers i've only the AccountController class derived from ApiController public class AccountController : ApiController It's possible, in the same project, have a mvc controller and api controller? How can i handle the authentication (signup, login,ecc...) with api

Web Api和MVC个人帐户

在Visual Studio 2013中,我创建了一个web api项目(在向导中选择mvc框架) 无论如何,在控制器中,我只有从ApiController派生的AccountController类 public class AccountController : ApiController 有可能在同一个项目中有一个mvc控制器和api控制器? 我如何使用api控制器和mvc控制器来处理身份验证(注册,登录,ecc ...)? 该向导只生成apicontroller 你当然可以用相同的名字创建一个新的MVC控制器,只要你的路由