问题标签 [asp.net-apicontroller]

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.

0 投票
1 回答
340 浏览

c# - 为什么 autofac 注册 apicontroller 的所有实例,而不仅仅是我指定的那个

我很难理解为什么我从 ApiController 派生的所有类都已注册和可访问。我有两个 ApiController:

这是我使用容器设置服务器的方式

我在创建 NUnit 测试时遇到的问题是,即使我只尝试注册一个控制器,它们在测试期间都可以访问。例如,如果我只注册 MasterController,我希望这个 url 是有效的(主)

这个网址给我一个404(奴隶)

但相反,他们都工作。我已经尝试使用 autofac 进行所有类型的不同注册,但所有这些似乎都注册了所有 ApiController,而不仅仅是我想要的,我错过了什么?

我的目标是仅在测试期间注册 MasterController,并了解我在尝试时做错了什么。

0 投票
0 回答
727 浏览

asp.net-mvc-4 - 动作被调用两次

所有,我遇到了一个 MVC 动作被调用两次的问题。请帮忙审核。

视图代码很简单。

由于LogBlobController属于一个名为Log. 所以下面的路由配置AreaRegistration如下所示。

MVC的默认实现RouteConfig如下。

页面中的 Html 如下所示。

我怀疑两次的原因是他们(LogAreaRegistrationRouteConfig)都同时工作。谢谢。

0 投票
2 回答
13042 浏览

c# - Foreach 语句无法对类型“”进行操作,因为它不包含“GetEnumerator”的公共定义

我的 Api 控制器中有以下内容:

这是我的类定义一个联系方法

ContactSaverequest班级:

我有一个数组,它将方法推入其中以被删除(methodsToDelete)。我正在尝试Delete在数组上使用该方法,但不断遇到contactSaveRequest不包含GetEnumerator.

0 投票
1 回答
803 浏览

orm - asp.net web api 控制器接受 POCO 或通用数据

我是 ASP.NET Web API 的新手,并且已经研究了一段时间。诚然,我有决策麻痹症。我想为数据库中大约有 250 个表的系统制作一个类似 REST 的 API。它基本上是一个带有 UI 和数据访问层的 2 层系统,不使用业务对象或 ORM。

我无法决定我的 Web API 控制器是否应该接受/返回:

a)名称/值对的IDictionary,我将其打包成sql参数并传递给数据访问层并返回一个序列化的ado.net数据表

b) 强类型复杂对象(PO​​CO 对象)。例如:所有属性都与数据库中的字段匹配的帐户类。

如果我必须为系统中的每个表创建 POCO 类,那么将有 250 多个类基本上什么都不做,除了打包数据并将其传递给我们的数据访问层。

此外,似乎我需要为我想通过 Web Api 公开的数据库中的每个表创建一个 ApiController,因为每个路由只有 GET、POST、PUT、DELETE?请帮忙,把头撞在桌子上。

0 投票
1 回答
121 浏览

asp.net - api控制器来处理多个资源

我是 ASP.NET Web API 的新手,并且已经研究了一段时间。诚然,我有决策麻痹症。我想为系统创建一个类似 REST 的 Web Api。

似乎我需要为我想通过 API 公开的数据库中的每个表创建一个 ApiController。如果控制器只有 GET、PUT、POST、DELETE 等,那么控制器如何处理多个实体的 GET 请求,比如 Account 表和 Lead 表?

似乎 IHttpHandler 会更灵活地处理对多种类型资源的请求。请帮忙,把头撞在桌子上。

0 投票
1 回答
959 浏览

filenames - 使用 jQuery Ajax 但不使用 fileName 的 Web Api 下载文件

根据链接 Web Api won't download file using jQuery Ajax and Basic Auth whitch solution 对我有很大帮助,我想问一个问题:为什么向用户确认打开/保存文件不显示其名称(export_gui)但是控制器名称(在 IE 中:downloadget;在 chrome 中:“הורד 6”,不带扩展名 xls)?

谢谢

0 投票
2 回答
5294 浏览

asp.net-mvc - 针对 API 控制器创建视图?

我需要创建一个网站,其中一些页面应该可以通过 API 从外部客户端访问,但我仍然想制作常规的 MVC Razor 视图来检索、显示和操作相同的数据。

实现这一目标的最佳方法是什么?

更新

API 必须公开的只是数据操作。

对于网页,我仍然希望从 razor chtml 视图中受益,我不喜欢用多余的 jQ 或 JS 污染我的视图,也不喜欢data-消耗数据的属性。

0 投票
0 回答
250 浏览

odata - OData Api 控制器扁平化请求

这个问题处理来自这两个差异控制器(API 与 OData)的返回 JSON 结果的不同“大小”
一些实体例如:(这是一个糟糕的组合,它只是为了说明一个观点,请不要判断这些实体之间的关系)

当向OData控制器发出 GET 请求时,请说:

结果将包含客户的类别对象,除非我在 URL 上明确提及“$expand=Category”。

但是,对API控制器的相同请求返回客户的类别对象(即使结果是 IQueryable<Customer>)。这样做的问题是,在实体之间存在循环关系的情况下,结果会递归地变平,变得巨大(可能是无穷大)。
我一直在寻找解决这个问题的方法,发现像 MaxDepth 这样不起作用的东西以及许多其他没有结果的东西。

我真正想要的是一种“告诉”API 控制器或其方法“不要扩展结果”的方法——或者更好的是,忽略循环引用(我也尝试过但没有奏效)。

更新:这是 API 控制器上的 GET 方法:

谢谢。

0 投票
1 回答
47 浏览

asp.net-mvc - 从 ApiController 中发出 http 请求不起作用

这是我创建的 API 控制器的简化版本。

给定一个完全有效的 url,这将抛出一个 WebException,上面写着“无法解析远程名称”。

如果我在 LinqPad 中使用相同的 url 执行相同的方法,它就可以工作。我已经尝试过 WebClient 和 WebRequest 的结果相同。

需要明确的是,这不是路由问题,因为我可以通过任何一种方式点击并单步执行代码,并且所涉及的 url 不是此应用程序的一部分。

0 投票
1 回答
1065 浏览

c# - 如何让 MVC RPC 风格的 API 控制器与多个 POST 方法一起工作

我知道这个问题已经在许多领域被问过和回答,因为我已经搜索并看到了许多不同的答案和例子;但是,我无法应用其中任何一个并使其正常工作。

我正在尝试在 MVC 4 中组合一个 RPC 样式的 apicontroller。在 aipcontroller 中,我有两种方法正在尝试执行发送和接收 JSon:TestFunction1 和 TestFunction2。如果我注释掉其中一个,另一个可以正常工作。

当我尝试同时包含它们时,它会失败并出现以下(常见)错误:

尽我所能,我正在遵循我找到的示例,并且我已经阅读了 SO QnAs,直到我失明并且我仍然无法弄清楚我做错了什么。

有人可以帮我解决并理解这一点吗?

编辑:附加说明 - 如果我注释掉 TestFunction2 并且不更改我的 javascript 操作以匹配,我仍然会收到对 TestFunction1 的调用。

我的控制器方法:

该模型:

我的路由:

我的JavaScript: