问题标签 [asp.net-web-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-4 - 了解新的 Web API 方法
我知道并不是每个人在开发 MVC 应用程序时都使用完整的架构,但我们假设我有以下架构:
在我们的 MVC 应用程序中,我们尝试遵循这种方法:
- 在我们的控制器内部(在一个方法内),我们实例化了一个 ViewModel。
- 我们从 App.Service 层填充 ViewModel 调用方法
- 一旦 ViewModel 被填满,我们将它返回给 View(所以现在视图是强类型的)。
这发生在 99.9% 的时间。它很干净,我们喜欢它,它很好地利用了自己……等等!
现在我的问题如下:
如果我们决定将我们的应用程序迁移到 MVC 4.0 并开始使用新的Web API方法,我不确定我是否完全理解它在哪里(或如何)适合我们当前的架构?
请记住,我们愿意改变这一点!
我们是否应该在 App.Service 和 App.Web 之间创建一个新的 App.WebAPI 层?这意味着在我们的控制器内部,我们不再需要直接调用 App.Service 而是调用新的 App.WebAPI 层?
或者,将 Web API 保留在 App.Web 层中,让控制器调用其他 APIController,而后者又会调用 App.Service 层?
不确定我在这里是否有意义……但请随时提出任何建议,因为我对不同的输入感到好奇。
谢谢
asp.net-mvc-routing - MVC 4 中的 UriPathExtensionMapping
如何在 MVC4 中使用 UriPathExtensionMapping?我在格式化程序中添加了映射,这样:
但是我不能在我的路线上使用扩展名,除非我添加一个动词,例如:
然后它会识别出我想要的媒体类型,但它也开始期待“扩展”作为操作的参数。例子:
而不仅仅是:
我该如何解决这个问题?
谢谢!
asp.net-mvc-4 - 如何添加全局 ASP.Net Web Api 过滤器?
我已经创建了一个 Web Api 过滤器(使用System.Web.Http.Filters.ActionFilterAttribute
),但我无法让它在 ASP.Net MVC 4 中工作。我尝试将它添加到RegisterGlobalFilters()
方法中,但没有奏效。
因此,如果使用托管在 ASP.Net MVC 中的 Web Api,如何注册过滤器?
asp.net-mvc-4 - 在新的 ASP.NET Web API 中,如何设计“批处理”请求?
我正在基于新的 ASP.NET Web API 创建一个 Web API。我试图了解处理同时提交多个数据集的人的最佳方式。如果他们有 100,000 个请求,最好让他们一次提交 1,000 个。
假设我在联系人控制器中有一个创建新的联系人方法:
允许用户“批量”提交新联系人的正确方法是什么?我在想:
这是一个好习惯吗?这是否会解析带有 JSON 联系人数组的 GET 请求(假设它们的格式正确)?
最后,关于如何最好地响应批处理请求的任何提示?如果 300 次中有 4 次失败怎么办?
太感谢了!
asp.net-mvc - WebApi 控制器和 WCF WebAPI 之间的区别
我已经开始研究 MVC 4 的新特性。值得注意的新特性之一是 ApiControllers。
我仍然不明白为什么要使用它而不是 WCF WebAPI?那是因为微软试图淡出 WCF WebAPI,还是将所有工具集收集在一个 MVC 4 项目的一个地方?
c# - 无法使用 Unity 将依赖项注入 ASP.NET Web API 控制器
有没有人成功使用 IoC 容器将依赖项注入 ASP.NET WebAPI 控制器?我似乎无法让它工作。
这就是我现在正在做的事情。
在我的global.ascx.cs
:
我的控制器工厂:
它似乎从来没有查看我的统一文件来解决依赖关系,并且我收到如下错误:
尝试创建“PersonalShopper.Services.WebApi.Controllers.ShoppingListController”类型的控制器时出错。确保控制器有一个无参数的公共构造函数。
在 System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpControllerContext controllerContext, Type controllerType) 在 System.Web.Http.Dispatcher.DefaultHttpControllerFactory.CreateInstance(HttpControllerContext controllerContext, HttpControllerDescriptor controllerDescriptor) 在 System.Web.Http.Dispatcher.DefaultHttpControllerFactory.CreateController (HttpControllerContext controllerContext, String controllerName) 在 System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncInternal(HttpRequestMessage request, CancellationToken cancelToken) 在 System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(HttpRequestMessage request, CancellationToken cancelToken)
控制器看起来像:
我的统一文件如下所示:
请注意,我没有控制器本身的注册,因为在以前版本的 mvc 中,控制器工厂会发现需要解决依赖关系。
似乎我的控制器工厂从未被调用过。
rest - 使用 AuthorizeAttribute 的 ASP.NET Web API 授权
使用新的 ASP.NET Web API 测试版。我似乎无法获得建议的用户身份验证方法来工作。建议的方法似乎是,将[Authorize]
过滤器添加到 API 控制器。例如:
但是,这并没有按预期工作。请求资源时,您会被重定向到登录表单。这不太适合 RESTful webapi。
我应该如何处理这个?在未来的版本中它会以不同的方式工作吗?还是我应该回退到实现自己的操作过滤器?
c# - Web 表单中的 ASP.NET Web Api
我正在尝试通过 Visual Studio 2010 (sp1) 在 WEB FORMS 中使用 asp.net web api 我已经完成了这些步骤http://myrandomykien.blogspot.com/2012/02/simplest-web-api-site-with -nuget.html
当我使用 Visual Studio 开发服务器时,它可以工作,但是当我使用 iis 7.5 时,我收到错误 HTTP 404.0 - 未找到。
编辑
这是我的 Global-asax
这是api类
wcf-web-api - Castle.ActiveRecord.dll 与 ASP.NET MVC 4 Web API 不兼容
MSFT 声称 .NET 4.5 向后兼容 .NET 4。我继续安装了 .NET 4.5 和 VS 11,然后创建了一个新的 ASP.NET MVC 4 Web API 项目。当我将 Castle.ActiveRecord.dll(版本 3.0.0.0)引用到我的 Web API 项目中时,每个控制器操作都会生成此错误:
这很有趣,因为从我读到的。版本 2.3.1.3 是 Lucene (java) 版本,而不是 Lucene.Net 版本。为了确定,我检查了 NuGet,它没有可用于 Lucene.Net 的版本 2.3.1.3。
是什么赋予了?我很想运行新的 ASP.NET MVC 4 Web API 项目,因为它融合了我对 ASP.NET MVC 和 WCF Web API 的喜爱。关于如何解决这个问题的任何想法?
.net - Task.Factory.ContinueWhenAll 调用的适当结构
我想确保正确使用 ContinueWhenAll。我有许多将运行异步的调用,然后我只想在其他任务成功完成并且对结果进行一些计算以查看是否应该停止处理并返回禁止的 HTTP 之后才完成最终任务结果。我不确定的是最后一行是否真的会等待所有其他任务完成,或者我是否需要以不同的方式构造它。如果是这样,应该如何构造最后一行,以便只有在我通过 if(getPlatformTask.Result...