问题标签 [asp.net-web-api2]

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 投票
2 回答
8395 浏览

c# - 从 Web API 2 响应中删除 Cookie

我正在尝试执行一个经过身份验证的 Web api 请求,该请求不会重置身份验证 cookie 超时。在 MVC 世界中,我将通过从响应中删除 FormsAuthenication cookie 来完成此操作:

在 Web API 2 中,我编写了一个自定义 IHttpActionResult,并从响应中删除了 Set-Cookie 标头。然而,这并没有删除标头,因为当为使用此操作结果的请求更新 auth cookie 时,我仍然看到 Set-Cookie 标头。

这是自定义的 IHttpActionResult:

如何在 Web API 2 中编辑响应标头,因为这不起作用。

0 投票
1 回答
1036 浏览

asp.net-web-api2 - 在 WebAPI 2 中访问请求对象

我正在破坏 WebAPI 中的 ModelBinding 错误,我看到主键被发布回服务器,但在模型属性中的服务器上,键始终为空。我决定进一步检查它,看看请求对象是否能够检索该值,如果是的话,我将继续实现我自己的自定义模型绑定器。但是知道我遇到了另一个问题,我无法弄清楚如何使用 Request Object 提取值?

这本来应该很简单,但找不到正确的方法?

这是 Postinformation,其中 OrgCode_PK 是属性提供问题。

0 投票
0 回答
161 浏览

asp.net-web-api2 - WebAPI 2 自定义模型绑定器永远不会被调用

我正在使用最新的 WebAPI 2。我遇到了默认 ModelBinder 没有正确显示发布值的问题。我确实验证了该值已正确回传到服务器,我能够使用请求对象检索该值。所以决定实现我自己的自定义模型绑定器。现在我遇到了这个自定义活页夹永远不会被调用的问题,只有默认活页夹被调用。我错过了什么?

WebAPI 方法

自定义模型绑定器

0 投票
1 回答
140 浏览

asp.net - 在外部机器上查看本地 ASP.NET 应用程序

这个问题之前已经被问过(即,这里),我发现一些博客文章提供了一些关于如何设置 IIS Express(这里这里)以允许远程连接的详细信息,但我还没有能够为我自己把所有的碎片放在一起。这是我到目前为止所做的:

  1. 在命令提示符处运行此命令以进行“URL 保留”:

    netsh http add urlacl url=http://my-computer-name-here:80/ user=everyone

  2. 在我的防火墙中打开了相应的端口:

    netsh firewall add portopening TCP 80 IISExpressWeb enable ALL

  3. ApplicationHost.config在我的 IIS Express 中为我的项目添加了一个新的 HTTP 绑定:

    <binding protocol="http" bindingInformation="*:80:my-computer-name-here" />

完成这些步骤后,我可以通过访问在本地运行我的应用程序http://my-computer-name-here/。但是,如果我尝试使用连接到本地网络的任何其他设备访问该地址,我会重定向到我的 ISP 的通用搜索页面。

我也尝试导航到我的计算机的 IP,但是我点击了 403(或者当我导航到我的项目目录时,我点击了 500 index.html,通过检查错误消息中提供的“物理路径”调试信息找到)。这发生在本地和外部设备上。

为了从外部设备连接到本地 IIS Express 开发服务器,我还需要做什么?

如果相关,我将使用ASP.NET Web API 2 教程作为概念验证的测试项目。我正在使用 Visual Studio 2013。

0 投票
1 回答
1895 浏览

asp.net-web-api - 撤销 WebApi 2.1 不记名令牌

我正在围绕验证 webapi2.1 的东西进行一些测试,但我有点不确定它是如何工作的。

我有一个设置了 [Authorize] 的 webapi 控制器,所以当我尝试在没有承载令牌的情况下调用它时,我得到了预期的 401。

第 1 步 - 我生成一个新令牌并将其添加到我的请求的标头中,然后我得到了预期的结果。第 2 步我生成一个具有相同帐户详细信息的新令牌。我可以使用旧令牌或新令牌访问数据。

为什么第一个令牌仍然有效?我会认为这应该使用旧令牌返回 401?

0 投票
2 回答
3333 浏览

asp.net - OWIN AuthorizeEndpoint 的 redirect_uri 与 web api 的 uri 不同

我成功地为 asp.net Web API 使用不记名令牌身份验证,如默认单页应用程序模板中所示。但现在我想使用来自不同站点(不同 url)的相同 Web API。

当我从不同站点向 Web API AuthorizeEndpoint(默认为/api/Account/ExternalLogin )发出请求时,我收到错误: invalid_request。我想问题出在 redirect_uri 值上,因为将其更改为与 web api 在同一域上运行的站点的值可以解决问题。

应用程序OAuthAuthorizationServerProvider中的ValidateClientRedirectUri方法不会被触发。因此,根据我在 Katana 源中的搜索,错误来源位于OAuthAuthorizationServerHandler.InvokeAuthorizeEndpointAsync中。

其他人有同样的问题还是我做错了什么?

0 投票
1 回答
702 浏览

asp.net-web-api - 升级到 WebAPI2 和 DotNetNuke 7.2.1,所有服务返回 404.0

我使用这种方法为 DotNetNuke 7.0 使用 WebAPI 编写了一些 WebAPI 控制器

一切都很好。

今天我将 DNN 升级到 7.2.1 并将我的项目升级到 ASP.NET Web API2 并且我在本地计算机上的服务现在无法正常工作 - 它们返回“HTTP 错误 404.0 - 未找到”。

我认为这与 IIS 和无扩展 URL 有关 - 我检查了 IIS 和 DesktopModules 不是这里建议的应用程序。

我尝试了 Fiddler 和 F12 调试工具,但消息没有给出任何线索。我该如何调试它以找出问题所在?

0 投票
1 回答
757 浏览

asp.net-mvc-4 - 带有路由参数的 IIS 7.5 上托管的 Web Api

我有一个在 VS2012 MVC 4 WebApi 中开发的 WebApi。在 VS 的 IISExpress 上本地运行时效果很好。但是,一旦我部署到 IIS 7.5,IIS 似乎无法理解 uri 中的参数。WebApiConfig.cs 路由看起来是这样的:

这个 uri 适用于 IIS Express:http://localhost:4600/course/courseoffering/3167/s2

我在 IIS 上创建了一个名为 PPS.Api.Course 的新站点,当我浏览它时 ( http://localhost:85/PPS.Api.Course),我得到了预期的“欢迎使用 ASP.NET Web API!” 页。但是,当我浏览到 http://localhost:85/PPS.Api.Course/course/courseoffering/3167/s2(并且我已经尝试过http://myservername:85/PPS.Api.course/course/courseoffering/3167/s2)时,我收到一条错误消息“无法从 localhost 下载 s2。无法打开此 Internet 站点。” 如何修复我的路由和/或 IIS 以获取要识别的 uri 中的参数?

0 投票
1 回答
241 浏览

asp.net-web-api - “[必需]”未对 POST 方法强制执行数据注释

我有使用数据注释来验证 ModelState 的想法。这非常有效。我遇到的问题是 [Required] Data Annotation 正在对 post 的 [Key] 字段强制执行。我们的数据层负责设置 Id,我们不希望任何使用该服务的人担心 Id。在 WebApi2 中有没有办法解决这个问题?

我已经查看了这个问题,并在检查有效的 ModelState 之前从 POST 方法中的 ModelState 中删除了 Id 字段。问题在于我们对 ModelState 使用了过滤器。

编辑:

在做了更多研究之后,我本质上想要做的是 [Bind] 属性在 MVC 中的作用。经过一番研究,看起来这不是 WebApi 中尚未实现的功能。如果有人有任何想法,请随时发布。

0 投票
1 回答
3637 浏览

dependency-injection - MVC5、WebAPI2 和 Ninject 无参数构造函数错误

所以我有与MVC5、Web API 2 和 Ninject完全相反的问题

我有一个新的 MVC5/WebAPI2 项目,它同时具有“控制器”和“ApiControllers”。

我正在使用最新的不稳定版本的 Ninject.Web.WebAPI,没有对 NinjectDependencyResolve.cs 和 Ninject.WebCommom.cs 进行代码更改(除了绑定我的依赖项),ApiController 的构造函数注入工作。但是,当我调用 MVC 控制器时,我得到:

没有为此对象定义无参数构造函数。