Tag: asp.net web api2

在ASP.NET 5中获取访问令牌

我的ASP.NET 5(MVC 6 + beta7)Web应用程序(MVC + WebAPI)需要从WebAPI登录调用中获取access_token。 到目前为止,从谷歌搜索,我已经为startup.cs创建了以下代码: app.UseOAuthBearerAuthentication(options => { options.AutomaticAuthentication = true; options.Audience = “http://localhost:62100/”; options.Authority = “http://localhost:62100/”; }); 我的客户方是: var login = function () { var url = “http://localhost:62100/”; var data = $(“#userData”).serialize(); data = data + “&grant_type=password”; $.post(url, data) .success(saveAccessToken) .always(showResponse); return false; }; 是否需要使用UseOpenIdConnectServer ? 如果是这样,我如何使用SigningCredentials以便获得令牌(例如MVC5 ApplicationOAuthProvider)? 请注意,我的网站是简单的演示HTTP站点,我不需要任何SSL。

Web API和OData-传递多个参数

是否有可能让OData执行以下操作? 我希望能够通过传递参数来查询REST调用,而不是主键。 我可以调用REST方法,如:> GetReports(22, 2014)或Reports(22, 2014) GetReports(22, 2014) Reports(22, 2014) ? [HttpGet] [ODataRoute(“Reports(Id={Id}, Year={Year})”)] public IHttpActionResult GetReports([FromODataUri]int Id, [FromODataUri]int Year) { return Ok(_reportsRepository.GetReports(Id, Year)); } 这是我最新的变化。 //Unbound Action OData v3 var action = builder.Action(“ListReports”); action.Parameter(“key”); action.Parameter(“year”); action.ReturnsCollectionFromEntitySet(“Reports”); 我的控制器ReportsController的方法 [HttpPost] [EnableQuery] public IHttpActionResult ListReports([FromODataUri] int key, ODataActionParameters parameters) { if (!ModelState.IsValid) { throw new HttpResponseException(HttpStatusCode.BadRequest); } […]

使用HttpClient将字节数组发布到Web API服务器

我想将此数据发布到Web API服务器: public sealed class SomePostRequest { public int Id { get; set; } public byte[] Content { get; set; } } 将此代码用于服务器: [Route(“Incoming”)] [ValidateModel] public async Task PostIncomingData(SomePostRequest requestData) { // POST logic here } 这个 – 对于客户: var client = new HttpClient(); client.BaseAddress = new Uri(“http://localhost:25001/”); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue(“application/json”)); var content = […]

带接口的JsonConverter

我有一个来自客户端的对象,并自动从Web Api 2反序列化。 现在我的模型的一个属性有问题。 此属性“CurrentField”属于IField类型,此接口有2种不同的实现。 这是我的模特(只是假人) public class MyTest { public IField CurrentField {get;set;} } public interface IField{ string Name {get;set;} } public Field1 : IField{ public string Name {get;set;} public int MyValue {get;set;} } public Field2 : IField{ public string Name {get;set;} public string MyStringValue {get;set;} } 我试图创建一个自定义JsonConverter来找出我的客户端的对象是什么类型(Field1或Field2),但我只是不知道如何。 调用我的转换器,当我调用var obj = JObject.load(reader)时,我可以看到该对象; 但我怎样才能知道它是什么类型的? 我做不了类似的事情 […]