首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过扩展让ASP.NET Web API支持JSONP

它的只读属性Callback代表JavaScript回调函数名称,改属性在构造函数中指定。...二、JsonpMediaTypeFormatter的应用到ASP.NET Web API中 接下来我们通过于一个简单的实例来演示同源策略针对跨域Ajax请求的限制。...从项目名称可以看出,WebApi和MvcApp分别为ASP.NET Web API和MVC应用,后者是Web API调用者。...string EmailAddress { get; set; } 20: } 现在我们在WebApi应用的Global.asax中利用如下的程序创建这个JsonpMediaTypeFormatter对象添加当前注册的...可以看到请求的URL中通过查询字符串“callback”提供了JavaScript回调函数的名称,而响应的主体部分不是单纯的JSON对象,而是JSON对象填充到回调返回中而生成的一个函数调用语句。

1.5K80

Asp.Net Web API 2第九课——自承载Web API

承载Web API  打开Program.cs,然后添加如下使用语句: using System.Web.Http; using System.Web.Http.SelfHost; 当然如果你没有引用...netsh http delete urlacl url=http://+:8080/ 通过客户端应用程序来调用Web API 让我们来写一个简单的控制台应用程序来调用Web API。...添加一个控制台应用程序,命名为"ClientApp"。 同样的通过Nuget来添加Microsoft.AspNet.WebApi.Client。 ? 当然还需要应用SelfHost这个项目。...2.调用HttpResponseMessage.EnsureSuccessStatusCode ,如果HTTP响应状态是一个错误码,那么这个方法抛出一个异常。   ...获取Result属性阻止线程,直到操作完成。 在调用这些方法之前, BaseAddress 上的属性设置为"http://localhost:8080"的 HttpClient 实例。

47730
您找到你想要的搜索结果了吗?
是的
没有找到

快速入门系列--WebAPI--03框架你值得拥有

以下链接是对此问题的解释,结论是我学习使用AngularJS。...框架通过单例提供HttpControllerHandler对象,多个HttpWebRoute共享对象,并且它将创建右侧的ASP.NET Web API处理管道,通过调用BeginProcessRequest...最后介绍与WebAPI客户端调用相关的内容,提到调用大家第一反应就是在Web页面中通过javascript进行Ajax调用,获取数据呈现,服务的消费者是前端页面,这只是调用的主要方式之一。...属性BaseAddress用于指定WebAPI基地址,DefaultRequestHeader用于添加任意的报头,MaxResponseContentBufferSize表示读取缓存区的大小,默认2G,...下面通过一个服务器端自我寄宿,客户端一般调用的例子完成学习,需要注意通过Nuget添加SelfHost和Client的库,代码如下所示: 1 //服务器端 2 class Program 3 {

2K90

在VS中调试LINQ(Lambda)

注意:lambda表达式的参数没有提示,需要手动输入参数名和参数的属性/方法。 设置好后,只有满足设置的条件,才会触发断点。 操作 (断点操作) 勾上操作,会出现输入框和勾选框。...注意:lambda表达式的参数没有提示,需要手动输入参数名和参数的属性/方法。如果想输出{},需要转义\{;如果想输出\,需要转义\\。...接下来说一下勾选框(继续执行),它默认是勾选的: 勾选:当触发断点输出数据后,程序不会停下来,会继续执行后面的代码;并且断点的小红点会变成菱形 不勾选:当触发断点输出数据后,程序会停下来 设置好后,...如何知道每一步链式调用的结果?...其实还有一种选择:在断点里添加条件。不过这种选择只适用于只有一个Linq语句的情况。是最后一个Linq语句时是不行的!

4.6K30

ASP.NET Core MVC应用模型的构建: 应用的蓝图

应用模型不仅仅是构建Action元数据的基础,承载API的应用还可以利用它自动生成API开发文档,一些工具甚至可以利用应用模型自动生成消费API的客户端代码。...不论是面向Controller的MVC编程模型,还是面向页面的Razor Pages编程模型,客户端请求访问的目标都是某个Action,所以MVC框架的核心功能就是请求路由到正确的Action,通过执行目标...由于ApplicationModel对象绘制了整个应用的蓝图,我们经常不仅可以利用它来生成结构化API文档(比如Swagger),还可以利用它提供的元数据生成调用API的客户端代码。...具体来说,我们需要将注册的IApplicationModelConvention对象添加到MvcOptions如下所示的Conventions属性上。...接下来,ApplicationModelFactory这个上下文作为参数,按照Order属性确定的顺序调用每个IApplicationModelProvider对象的OnProvidersExecuting

15310

《ASP.NET Core 与 RESTful API 开发实战》-- (第9章)-- 读书笔记(上)

Assert:断言测试结果,验证被测试方法的输出是否与预期的结果一致 我们使用 xUnit 测试框架,为项目命名为 Library.API.Testing 项目创建完成后,默认的 UnitTest1....cs 删除,添加一个新类,名为 AuthorController_UnitTests,该类主要包含针对 AuthorController 中方法的测试方法 由于 AuthorController 的构造函数中引用了多个其他依赖项...,该属性可以控制 HTTP 响应,如在 GetAuthorsAsync 方法中使用它为响应添加了自定义消息头 Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject...对象的 Request 和 Response 属性将不再为空 接下来对 GetAuthorsAsync 添加测试方法 [Fact] public async Task Test_GetAuthorsAsync...>(It.IsAny>())) .Returns(authorDtoList); _mockUrlHelper.Setup

1K20

IoC在ASP.NET Web API中的应用

的介绍我们知道HttpController的激活最终由HttpControllerActivator对象来完成,所以IoC与ASP.NET Web API的HttpController激活系统进行集成最为直接的方式莫过于自定义一个...UnityHttpControllerActivator具有一个表示Unity容器的属性UnityContainer,该属性在构造函数中被初始化。...我们利用IContactRepository接口来抽象对联系人数据的存储,如下面的代码片断所示,我们在此接口中仅定义了唯一的GetContacts方法根据指定的添加来筛选对应的联系人列表。...如下面的代码片断所示,我们在Application_Start方法中创建了一个UnityContainer对象,通过调用泛型方法RegisterType注册了IContactRepository...NinjectDependencyResolver的核心是类型为IKernel的只读属性Kernel,用于获取服务实例的GetService和GetServices方法分别通过调用此Kernel属性的TryGet

1.7K60

让我们一起写出更有效的CSharp代码吧,少年们!

名称 内容和示例 为序列创建可组合的API, yield return xxx Public static IEnumerable Square(IEnumerable nums)...只声明非虚事件对象 在.NET中,事件提供了类似属性的简易语法,通过add,remove方法添加相关事件处理程序,其实event就是delegate的包装器,这个特殊的委托便于应用事件处理模型,同时提供线程安全性...要求提供的API具有更好的健壮性,功能相对完整独立,复用性更强,例如尽量不要使用可空类型作为接口参数等 避免修改绑定的变量 这部分内容涉及闭包,通过以下的例子可以很容易的理解 public void...这是需要注意的是,工具生成类和扩展类(一般来说类名相同,但文件名加上Ext放入对应层次文件夹中)的设计,需要仔细考虑默认构造方法、属性值设置器、事件处理器等类成员的构建。...推荐对易变量和不可序列化的数据使用隐式属性 简单来说,就是在非Serializable对象中推荐使用priavte set,可以保护数据安全便于提供验证等方法。

1K50

C#中的枚举器(译)

我们将以创建一个简单化的List Box作为开始,它将包含一个8字符串的数组和一个整型,这个整型用于记录数组中已经添加了多少字符串。构造函数将对数组进行初始化使用传递进来的参数填充它。...你需要创建一个 ListBoxEmunerator(在下面描述): IEnumerable 和 IEnumerator 是不同的接口,请不要搞混了。...这些方法和属性的任务是创建一个状态机制,确保你可以在任何时候得知ListBox中的哪个元素是当前元素,获得那个元素。...lbt.strings.Length){ return false; } else { return true; } } 最后,如果MoveNext方法返回True,foreach循环调用...更进一步,由枚举器所返回的值一定是string类型,如果你想要返回其他类型,你可以修改IEnumerable泛型语句,IEnumerable泛型语句反射新类型。

1.8K40

在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

如左图所示,我们利用Fiddler发送了一个针对目标地址“http://localhost/webhost/api/contacts/001”的HTTP-GET请求,添加了一个值为“application...接下来,我们利用创建的HttpSelfHostConfiguration对象(对应着HttpSelfHostServer的Configuration属性)的Routes得到全局路由表,调用扩展方法MapHttpRoute...如下所示的是整个Web API调用程序的定义,我们利用HttpClient调用Web API实现了针对联系人的获取、添加、修改和删除。...load:发送Ajax请求调用Web API以获取当前联系人列表,并将得到的联系人列表“赋值”给contacts属性。 showDialog:弹出“编辑联系人信息”对话框。...contact属性作为提交的数据,至于“添加”还是“修改”,同样是通过它是否具有相应的Id来决定。联系人成功添加或者修改之后,load方法被调用以刷新当前联系人列表。

4.5K110

Unity Odin从入门到精通(二):创建编辑器窗口「建议收藏」

如果参数值为false的话,那么该函数就会先清空选择列表,然后菜单项添加到选择列表中;否则,就只是菜单项添加到选择列表中。 4.3.GetFullPath:获取菜单项的全路径。...3.9.MarkDirty:菜单树的状态标记为脏,从而可以在下一帧调用UpdateMenuTree函数。...然后将该菜单项作为参数,结合preferAssetPreviewAsIcon参数一起来调用AddThumbnailIcon函数,进而完成菜单项设置显示图标的工作。...接着根据查找到的资源文件和指定的资源类型来创建对象实例,并将该对象实例添加到一个列表中。然后创建一个具有该列表的菜单项。最后在指定的路径下面添加该菜单项,返回新创建的菜单项列表。...然后将该菜单项作为参数来调用getIcon参数值代表的委托,进而获取一个图标实例。最后创建一个返回该图标实例的委托,设置成该菜单项获取图标的委托。

3.2K30

框架设计原则和规范(四)

修饰属性 Attribute 1) 要在命名自定义修饰属性类时添加“Attribute”后缀。...集合 要求你所需要的最弱的类型,返回你能提供的最强类型 1) 不要在公共API中使用弱类型集合 2) 不要在公共API中使用ArrayList或List 设计用于内部实现而非API接口 //坏设计...要用ReadOnlyCollection或其子类,在少数情况下用IEnumerable,如果属性或返回值表示只读属性 D.考虑使用泛型集合基类的子类,而不要直接使用该集合 自定义的集合类型可以有更好的命名...,而且可以添加辅助成员。...自定义集合的命名 a) 如果实现了IDictionary接口要添加""Dictionary""后缀 b) 如果实现了IEnumerable,并且类型表示的是一个元素列表,要添加“Collection”后缀

1.4K40

《ASP.ENT Core 与 RESTful API 开发实战》-- (第5章)-- 读书笔记(下)

Action 的路由名称 // 第二个参数是包含要调用 Action 所需要参数的匿名对象 // 最后一个参数是代表添加成功后的资源本身 return CreatedAtRoute...nameof(GetAuthorsAsync), new { authorId = authorCreated.Id }, authorCreated); } 当数据发生变化时,EF Core 会将实体对象的属性及其状态修改...由于所有 Action 操作都基于一个存在的 Author 资源,因此每个 Action 中都会包含 IsExistAsync 逻辑,因此可以放在自定义过滤器中 namespace Library.API.Filters...await base.OnActionExecutionAsync(context, next); } } } 如果检查结果不存在,则结束本次请求,返回..., BookForCreationDto 对象映射为 Book 后,还需要为其 AuthorId 属性设置值,否则创建失败 [HttpPost] public async Task<IActionResult

53730

深入解析ASP.NET Core MVC应用的模块化设计

用来定义Web API的ApiControllerAttribute是ControllerAttribute的派生类。...IApplicationPartTypeProvider接口的提取出来(AssemblyPart就实现了这个接口),然后从它们提供的类型中按照IsController方法提供的规则筛选出有效的Controller类型,添加到...我们可以表示应用组成部分的ApplicationPart对象添加到ApplicationParts属性表示的列表中,而FeatureProviders属性表示的列表则用于存储注册的IApplicationFeatureProvider...PopulateFeature方法会实现了IApplicationFeatureProvider接口的IApplicationFeatureProvider提取出来,调用其...AddMvcCore方法接下来会提取出表示当前承载上下文的IWebHostEnvironment对象,并将其ApplicationName属性作为入口程序集调用ApplicationPartManager

17810

ASP.NET Web API中的依赖注入什么是依赖注入ASP.NET Web API依赖解析器使用Unity解析依赖配置依赖解析

serviceType); } 这个接口有两个方法 GetService为一个类型创建一个实例; GetServices为一个特定的类型创建一个实例集合 这个接口继承自IDependencyScope并且添加了...BeginScope方法,在这篇文章接下来讨论这个方法。...当ASP.NET Web API创建一个controller实例的时候,它首先调用IDependencyResolver的GetService方法,传回一个Controller实例,你可以使用一个扩展的钩子去创建控制器并且解析依赖...假如GetService方法返回NULL,ASP.NET Web API查找一个无参的构造函数。...container.Dispose(); } } } 配置依赖解析 在全局的HttpConfiguration对象中DependencyResolver属性上设置依赖解析器

2.2K80
领券