首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏大内老A

    ASP.NET Web API的Controller是如何被创建的?

    >(delegate 7: { 8: HttpConfiguration configuration = new HttpConfiguration 与上面我们介绍的那些“标准化组件”不同,默认使用的DependencyResolver并未注册到当前的ServicesContainer对象上,而是直接注册到了当前HttpConfiguration上面 如下面的代码片断所示,当前使用的DependencyResolver直接通过HttpConfiguration的DependencyResolver属性来获取和设置。 1: public class HttpConfiguration : IDisposable 2: { 3: //其他成员 4: public HttpConfiguration _dependencyResolver = value; 18: } 19: } 20: } 从上面的代码片断我们还可以看出默认注册到HttpConfiguration

    2K60发布于 2018-01-15
  • 来自专栏大内老A

    跨域资源共享(CORS)在ASP.NET Web API中是如何实现的?

    httpConfiguration); 4: protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage 我们接下来从表示当前请求的HttpRequestMessge对象中直接获取当前HttpConfiguration对象,并调用扩展方法GetCorsPolicyProviderFactory得到注册在它上面的 在这之后,我们调用HttpConfiguration对象的另一个扩展方法GetCorsEngine得到注册其上的CorsEngine,并将此前得到的CorsRequestContext和CorsPolicy 的EnableCors方法 通过上面的介绍我们知道针对ASP.NET Web API的CORS编程首先需要做的就是在程序启动之前调用当前HttpConfiguration的扩展方法EnableCors开启对 httpConfiguration); 4: public static void EnableCors(this HttpConfiguration httpConfiguration

    3.8K110发布于 2018-01-15
  • 来自专栏DOTNET

    asp.net web api 版本控制

    string, string> RouteVersionSuffixMapping { get; set; } public ODataVersionControllerSelector(HttpConfiguration } } 修改WebApiConfig.Register方法 public static class WebApiConfig {   public static void Register(HttpConfiguration private readonly HashSet<string> _duplicates; public NormalVersionControllerSelector(HttpConfiguration } 修改WebApiConfig.Register方法 public static class WebApiConfig { public static void Register(HttpConfiguration configuration; public VersionControllerSelector(HttpConfiguration configuration)

    2.3K60发布于 2018-03-08
  • 来自专栏张善友的专栏

    使用 OWIN Self-Host ASP.NET Web API 2

    HttpConfiguration config = new HttpConfiguration(); config.Routes.MapHttpRoute( 当调用 UseWebApi 时,ASP.NET Web API 中间件组件被添加到OWIN管道中用所提供的 HTTPConfiguration 对象。 ASP.NET Web API 仍然使用现有的 HttpConfiguration 类来定义路由等。另外说明下,通过OWIN宿主ASP.NET WebAPI还可以完美的兼容Mono 3哦。

    1.8K100发布于 2018-01-29
  • 来自专栏大内老A

    ASP.NET Web API标准的“管道式”设计

    如果在构造HttpServer的时候没有显式指定这两个属性的值(调用默认的无参构造函数创建HttpServer),在默认情况下会创建一个HttpConfiguration作为Configuration的属性值 由于HttpConfiguration类型实现了IDisposable接口,所以HttpServer重写了虚方法Dispose并在该方法中完成了对HttpConfiguration对象的释放。 既然整个管道都是由HttpConfiguration进行配置,那么自定义HttpMessageHandler的注册自然也可以利用它来完成。 如下面的代码片断所示,HttpConfiguration具有一个只读的集合类型的MessageHandlers,需要注册的HttpMessageHandler需要添加到此集合之中。 通过上面对HttpServer的介绍我们知道它会将当前SynchronizationContext和HttpConfiguration添加到表示当前请求的HttpRequestMessage对象的属性字典中

    1.7K60发布于 2018-01-15
  • 来自专栏大内老A

    ASP.NET Web API自身对CORS的支持: CORS授权检验的实施

    ,注册的CorsEngine同样是被添加到HttpConfiguration的属性字典之中。 CorsEngine的注册可以通过调用HttpConfiguration如下所示的扩展方法SetCorsEngine来完成。 另一个扩展方法GetCorsEngine用于获取注册的CorsEngine,如果在调用此方法时CorsEngine尚未被注册,一个CorsEngine对象会被创建出来并自动注册到HttpConfiguration httpConfiguration, ICorsEngine corsEngine); 5: public static ICorsEngine GetCorsEngine(this HttpConfiguration httpConfiguration); 6: } CORS系列文章 [1] 同源策略与JSONP [2] 利用扩展让ASP.NET Web API支持JSONP [3] W3C的CORS

    2.2K110发布于 2018-01-15
  • 来自专栏大内老A

    ASP.NET Web API中的Controller

    如下面的代码片断所示,通过定义在HttpControllerContext中的属性我们可以得到用于配置消息处理管道的HttpConfiguration对象和封装路由数据的HttpRouteData对象, configuration, IHttpRouteData routeData, HttpRequestMessage request); 5: 6: public HttpConfiguration 如下面的代码片断所示,我们可以通过HttpControllerDescriptor的属性Configuration、ControllerName和ControllerType获取当前的HttpConfiguration where T: class; 10: public virtual Collection<IFilter> GetFilters(); 11: 12: public HttpConfiguration 我们在HttpRequestMessage和HttpConfiguration类型中已经看到过了类似的设计。

    2.3K110发布于 2018-01-15
  • 来自专栏大内老A

    1、DefaultHttpControllerTypeResolver

    >(delegate 7: { 8: HttpConfiguration configuration = new HttpConfiguration 与上面我们介绍的那些“标准化组件”不同,默认使用的DependencyResolver并未注册到当前的ServicesContainer对象上,而是直接注册到了当前HttpConfiguration上面 如下面的代码片断所示,当前使用的DependencyResolver直接通过HttpConfiguration的DependencyResolver属性来获取和设置。 1: public class HttpConfiguration : IDisposable 2: { 3: //其他成员 4: public HttpConfiguration(HttpRouteCollection routes) 5: { 6: this.

    62710编辑于 2022-05-09
  • 来自专栏大内老A

    ASP.NET Web API自身对CORS的支持: EnableCorsAttribute特性背后的故事

    从编程的角度来讲,ASP.NET Web API针对CORS的实现仅仅涉及到HttpConfiguration的扩展方法EnableCors和EnableCorsAttribute特性。 具体来说,所谓注册CorsPolicyProviderFactory实际上就是将它保存到当前HttpConfiguration的Properties属性表示的字典中。 CorsPolicyProviderFactory的注册可以通过HttpConfiguration如下所示的扩展方法SetCorsPolicyProviderFactory来完成。 httpConfiguration); 5: public static void SetCorsPolicyProviderFactory(this HttpConfiguration httpConfiguration, ICorsPolicyProviderFactory corsPolicyProviderFactory); 6: } ?

    1.9K110发布于 2018-01-15
  • 来自专栏大内老A

    ASP.NET Web API路由系统:Web Host下的URL路由

    对于Web Host这种寄宿方式,这么一个HttpConfiguration可以通过静态类型GlobalConfiguration来获取。 如下面的代码片断所示,GlobalConfiguration具有一个静态只读属性Configuration,它返回的正式我们用于配置的全局HttpConfiguration对象。 > _configuration = new Lazy<HttpConfiguration>(delegate { 5: HttpConfiguration config = new HttpConfiguration(new HostedHttpRouteCollection(RouteTable.Routes)); 6: //其他操作 7: return config; 8: }); 9: 10: public static HttpConfiguration Configuration 11:

    2.3K100发布于 2018-01-15
  • 来自专栏Kiba518

    C#净化版WebApi框架

    我们编写Web项目的写WebApiConfig;代码如下: public static class WebApiConfig { public static void Register(HttpConfiguration RouteParameter.Optional } ); } } 可以看到WebApiConfig是个静态类中,我们在其中创建了静态注册方法Register,在方法内,我们主要在做一件事,那就是为HttpConfiguration 在WebApiConfig类中,我们还用到了这样一个类WebApiAttribute,我们在为HttpConfiguration对象的Filters属性,添加了这个类的对象。

    2.2K21发布于 2019-04-09
  • 来自专栏博客园

    WebApi的多版本管理

    public class VersionConstrollerSelector : IHttpControllerSelector { private readonly HttpConfiguration _conf; public VersionConstrollerSelector(HttpConfiguration configuration) { 方法中替换原来的IHttpControllerSelector public static class WebApiConfig { public static void Register(HttpConfiguration VersionConstrollerSelector(config)); } }      并且在其方法创建新的路由 public static void Register(HttpConfiguration

    1.8K40发布于 2018-08-31
  • 来自专栏技术开源分享

    OwinSelfHost自宿主的使用

    partial class Startup { public void Configuration(IAppBuilder app) { HttpConfiguration config = new HttpConfiguration(); //配置路由 config.Routes.MapHttpRoute(

    1.6K20发布于 2019-03-14
  • 来自专栏张志敏的技术专栏

    ASP.NET WebAPI 中的参数绑定

    ] 标记, 例如: [ModelBinder(typeof(GeoPointModelBinder))] public class GeoPoint { // .... } 最后, 还可以在 HttpConfiguration model-binder provider 来使用, 代码如下: public static class WebApiConfig { public static void Register(HttpConfiguration return new CookieValueProvider(actionContext); } } 然后将 CookieValueProviderFactory 注册到 HttpConfiguration 实例: public static void Register(HttpConfiguration config) { config.Services.Add( typeof( 下面是一个使用 IfNoneMatch 的例子: public HttpResponseMessage Get([IfNoneMatch] ETag etag) { ... } 除了直接使用这个标记, 也可以在 HttpConfiguration

    3.7K10发布于 2020-08-10
  • 来自专栏张志敏的技术专栏

    使用 Castle Windsor 实现 Web API 依赖注入

    HttpConfiguration 对象的 DependencyResolver 拥有全局作用域, 当 Web API 创建 Controller 时, 会调用 BeginScope 方法, 返回一个类型为 WindsorDependencyScope(childContainer); } } 注册 WindsorDependencyResolver 通过下面的代码将 WindsorDependencyResolver 注册到 HttpConfiguration 就可以使用了: public void Configuration(IAppBuilder app) { var config = new HttpConfiguration(); /

    1.3K20发布于 2020-08-10
  • 来自专栏GuZhenYin

    使用OWIN作为WebAPI的宿主

    public void Configuration(IAppBuilder app) { //创建一个HTTP的实例配置 HttpConfiguration config = new HttpConfiguration(); //映射路由 config.Routes.MapHttpRoute(

    1.7K50发布于 2018-01-04
  • 来自专栏DOTNET

    asp.net web api 构建api帮助文档

    HY_WebApi.HelpPages { public static class WebApiConfig { public static void Register(HttpConfiguration Odata控制器的API文档 步骤1,重构ApiExplorer public class CustomApiExplorer : ApiExplorer { private HttpConfiguration configuration; public CustomApiExplorer(HttpConfiguration configuration) : base( OdataRelativePath { public static void GetOdataRelativePath(CustomApiExplorer customApiExplorer, HttpConfiguration

    1.9K81发布于 2018-03-08
  • 来自专栏.NET开发者社区

    支持Ajax跨域访问ASP.NET Web Api 2(Cors)的简单示例教程演示

    System.Web.Http; namespace CorsDemo.Api { public static class WebApiConfig { public static void Register(HttpConfiguration 不需要太多,在WebApiConfig.cs文件中配置HttpConfiguration的EnableCors方法即可。 System.Web.Http.Cors; namespace CorsDemo.Api { public static class WebApiConfig { public static void Register(HttpConfiguration config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); } private static void EnableCrossSiteRequests(HttpConfiguration

    1.7K90发布于 2018-02-01
  • 来自专栏博客园

    WebAPI返回JSON

    application/json")); return result; } } 找到App_Start中的WebApiConfig.cs文件,打开找到Register(HttpConfiguration IContentNegotiator), new JsonContentNegotiator(jsonFormatter)); 添加后代码如下: public static void Register(HttpConfiguration

    4.3K20发布于 2018-08-31
  • 来自专栏技术博客

    Asp.Net Web API 2第十六课——Parameter Binding in ASP.NET Web API(参数绑定)

    接下来的代码展示如何启用他们: public static class WebApiConfig { public static void Register(HttpConfiguration { return new CookieValueProvider(actionContext); } } 添加value provider 工厂到HttpConfiguration  ,代码如下: public static void Register(HttpConfiguration config) { config.Services.Add(typeof(ValueProviderFactory 在HttpConfiguration 对象上,ParameterBindingRules 是一个匿名方法类型(HttpParameterDescriptor -> HttpParameterBinding 2、否则,查看一个函数的HttpConfiguration.ParameterBindingRules ,它返回一个非null的HttpParameterBinding 。   

    1.8K30发布于 2018-08-31
领券