Tag: asp.net web api

红隼与IIS – 运行时缺少libuv.dll

我们正在设置现有的Web API服务器,以便与现有API一起提供站点。 我一直在松散地阅读这篇文章 。 这是我的Global.asax.cs的样子: public class WebApiApplication : System.Web.HttpApplication { protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); AutoMapperConfig.RegisterMappings(); var host = new WebHostBuilder() .UseKestrel() .UseWebRoot(“wwwroot”) .UseIISIntegration() .UseStartup() .Build(); host.Run(); } } 和Startup.cs: public partial class Startup { public void Configure(IApplicationBuilder app) { app.UseDefaultFiles(); app.UseStaticFiles(); } } 当我运行项目时,我收到错误 无法加载DLL“libuv”:找不到指定的模块。 (HRESULTexception:0x8007007E) libuv是Kestrel的依赖。 如果我手动将它从packages文件夹复制到bin文件夹,它可以工作。 这个GitHub问题评论似乎有意义。 现在project.json正在被移走,我怎样才能让它自动复制? […]

Azure移动应用程序 – 尝试POST时获取405(方法不允许)

我正在尝试将Azure Mobile Service .NET后端迁移到Azure移动应用程序。 我使用的是一些自定义Web Api控制器,迁移后我得到405 (Method Not Allowed) / The requested resource does not support http method ‘POST’. 尝试POST到以前工作的控制器方法时出错。 我花了几个小时尝试不同的CORS设置但到目前为止我没有成功。 这就是我目前配置Web Api的方式: HttpConfiguration config = new HttpConfiguration(); new MobileAppConfiguration() .UseDefaultConfiguration() .ApplyTo(config); var cors = new EnableCorsAttribute(“*”, “*”,”*”); //var cors = new EnableCorsAttribute(“*”, “*”,”GET,POST,DELETE,HEAD,PUT,PATCH,OPTIONS”); config.EnableCors(cors); config.Routes.MapHttpRoute( name: “Rest”, routeTemplate: “rest/{controller}/{id}”, defaults: new { id = […]

.Net WebApi 1个日期时间转换器

我在mvc 4.0中有一个webapi 1.0。 对于内容类型为x-www-form-urlencoded的webapi请求,有一种方法可以更改(全局)日期时间字段的默认转换器吗? 客户端发送到服务器的字段格式为dd / mm / yyyy但服务器似乎只转换此格式的日期mm / dd / yyyy 这是curl请求 curl “http://xxxx/yyy/apimethod/” -H “Accept-Encoding: gzip, deflate” -H “Content-Type: application/x-www-form-urlencoded; charset=UTF-8” –data “ExpiryDate=30%2F04%2F2015&UserId=32” 这是方法 [HttpPost] public HttpResponseMessage apimethod(MyModel model) {} 这就是模型 public class MyModel{ public int UserId { get; set; } [DataType(DataType.Date), DisplayFormat(DataFormatString = “{0:dd/MM/yyyy}”, ApplyFormatInEditMode = true)] public DateTime ExpiryDate { […]

Ninject Web Api“确保控制器具有无参数的公共构造函数。”

我已经使用ninject差不多2年但现在使用它我的ASP.NET MVC / WebAPI项目我收到此消息和stackoverflow上的先前线程与各种建议并没有解决我的问题。 我有以下nuget包:Ninject MVC3 Ninject Integration for WebApi 2。 我已经尝试解决问题的时间越来越长,我也会非常感谢我能得到的任何帮助和建议! (如果有人想仔细看看,我很乐意把解决方案放在Github上) 这是我使用的类: public class CmsContext : DbContext { public CmsContext() : base(“CMS_POC”) { } public DbSet Activities { get; set; } public DbSet Systems { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove(); } } public interface IRepository where T : […]

当需要其他参数时,如何正确使用WebAPI / Rest

我是WebAPI的新手并且正在努力做正确的事情。 默认情况下,如果我要访问用户之类的东西,如果我想要用户5,我会调用api / user / 5。我认为这将转到我的用户控制器Get(int num)。 但我知道我经常需要传递其他参数。 目前我有Get(JObject数据),但该数据参数用于其他参数。 我需要其他可选参数,无论是发送ID还是想要列出所有内容。 如何使用WebAPI正确组织方法? 我误会了什么吗? 澄清一下:这个问题更多的是关于REST而不是动态对象,尽管它们起了作用: 当我需要额外的参数时,如何获得单个资源与资源列表。 我认为这些概念是两种不同的方法,但是当涉及到路由时,额外的参数在我的脑海中使它复杂化。

我知道有关上传的内容,我们是否必须在接收端做一些事情?

我的azure函数接收大型video文件和图像,并将其存储在Azure blob中。 客户端API正在以块的forms将数据发送到我的Azure htttp触发器function。 我是否必须在接收端执行某些操作以提高性能,例如以块的forms接收数据? Bruce,实际上客户代码是由其他团队开发的。 现在我正在邮递员测试它并从多部分http请求中获取文件。 foreach (HttpContent ctnt in provider.Contents) { var dataStream = await ctnt.ReadAsStreamAsync(); if (ctnt.Headers.ContentDisposition.Name.Trim().Replace(“\””, “”) == “file”) { byte[] ImageBytes = ReadFully(dataStream); var fileName = WebUtility.UrlDecode(ctnt.Headers.ContentDisposition.FileName); } } ReadFullyfunction public static byte[] ReadFully(Stream input){ using (MemoryStream ms = new MemoryStream()) { input.CopyTo(ms); return ms.ToArray(); }}

entity framework包含没有嵌套属性

我有两个名为DataTag和TagSource的相关实体,如下所示: public class DataTag : BaseModel { [Column(“DataTagId”)] public override Guid ID { get; set; } public string Tag { get; set; } public Guid TagSourceId { get; set; } public TagSource TagSource { get; set; } } public class TagSource : BaseModel { [Column(“TagSourceId”)] public override Guid ID { get; set; } public string […]

Web API令牌身份validation

我将用户凭据从Web应用程序发布到web api,该Web api实现了对用户进行身份validation并使用有效令牌进行响应的提供程序。 这是发布的方法: public TokenModel RequestAPIToken(string username, string password) { var postData = new Dictionary(); postData.Add(“grant_type”, “password”); postData.Add(“username “, username); postData.Add(“password “, password); HttpContent content = new FormUrlEncodedContent(postData); _response = _client.PostAsync(“token”, content).Result; var result = _response.Content.ReadAsAsync().Result; return result; } 这取自web api项目: public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { context.OwinContext.Response.Headers.Add(“Access-Control-Allow-Origin”, new[] { “*” }); var […]

OWIN Cookie身份validation

我似乎无法让OWIN使用基于Cookie的身份validation。 我已在Startup中将我的OWIN令牌端点配置为: OAuthOptions = new OAuthAuthorizationServerOptions { TokenEndpointPath = new PathString(“/Token”), Provider = new ApplicationOAuthProvider(PublicClientId), AccessTokenExpireTimeSpan = TimeSpan.FromDays(14), AllowInsecureHttp = true }; app.UseOAuthBearerTokens(OAuthOptions); 我还配置了Cookie身份validation: app.UseCookieAuthentication(new CookieAuthenticationOptions()); 现在,当我点击/token端点时,我得到响应中的承载令牌,并且还在客户端使用令牌设置了cookie。 接下来我有一个用Authorize属性修饰的控制器。 当我尝试访问任何方法时,我得到401 Unauthorized响应,即使cookie随请求一起发送。 似乎OWIN没有尊重cookie进行身份validation。 我在这里遗漏了一些东西,可能是某种类型的配置? 如果我使用bearer token设置Authorization标头,但为什么它只能用于cookie?

AngularJS – 哪个是好的WCF Rest或Web API

我将开始一个与Microsoft .NET混合的新AngularJS项目。 现在我很困惑应该选择哪一个,WCF Rest或Web API? 我的Angular App有一个登录模块和一个主应用程序。 只有经过身份validation的用户才能访问主应用程序。 在Web API中,我们必须使用Token System或Owin Auth,但是一些博客说它不那么安全。 所以,我完全糊涂哪个应该选择? 哪一个高效安全? WCFrest 要将WCF用作WCF Rest服务,我们必须启用webHttpBindings 。 它分别通过[WebGet]和[WebInvoke]属性支持HTTP GET和POST动词。 要启用其他HTTP谓词,我们必须在IIS中进行一些配置,以接受.svc文件上该特定谓词的请求 使用WebGet通过参数传递数据需要配置。 必须指定UriTemplate 它支持XML,JSON和ATOM数据格式。 Web API 这是用简单方便的方式构建HTTP服务的新框架。 Web API是开源的,是通过.NET Framework构建REST-ful服务的理想平台。 与WCF Rest服务不同,它使用HTTP的全部function(如URI,请求/响应头,缓存,版本控制,各种内容格式) 它还支持MVCfunction,例如路由,控制器,操作结果,filter,模型绑定器,IOC容器或dependency injection,unit testing使其更加简单和健壮。 它可以在应用程序中或IIS上托管。 它是轻量级架构,适用于智能手机带宽有限的设备。 响应由Web API的MediaTypeFormatter格式化为JSON,XML或您要添加为MediaTypeFormatter任何格式。 请帮助我,哪一个高效安全?