问题标签 [wcf-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.
api - 防止应用程序更改破坏 API
我有一个正在编写 API 的应用程序。这是我第一次从头到尾创建 API,并且阅读了很多好文章以及如何做到这一点。然而,很多材料都特别关注 API 开发(应该如此),但没有找到任何涉及如何确保 API 不会被应用程序项目中发生的更改破坏的内容。
我的应用程序由一个 ASP.NET MVC Web 应用程序组成,该应用程序调用服务层以进行类似 CRUD 的操作。因此,为了获取我的应用程序中所有用户的列表,MVC 应用程序调用服务层并询问他们,并显示一组用户。我的 API(WCF Web API)也在内部使用这个服务层,当我请求用户列表时,我再次返回一组用户(JSON、XML 等)。
但是,如果由于某种原因,另一个开发人员通过将字段重命名为姓氏来更改底层用户域对象,那么这可能会破坏我的 API,因为服务层将向我的 API 返回一个具有新字段名称的用户对象当它期待别的东西时。实际上,我的 API 确实有自己的对象表示,这些对象在请求时映射到应用程序对象,但此映射不会映射 surname 属性并将返回为 null。
因此,是否必须严格控制应用程序中的所有更改,因为我提供了 API?如果是这样,那么您是否必须同时更改您的应用程序和 API?如果错过更改怎么办?上述对我来说似乎不正确,因此我的帖子是为了寻求更多的知识。
再次,我对此很陌生,所以对此的任何帮助将不胜感激。
.net - 如何获取标题值
如何从 WCF Web API 中的 Web 方法访问标头值?
c# - 从多部分文件上传中读取内容到内存
我在将上传的 XML 文件读取到字符串而不是文件时遇到问题。
我的问题是,当我尝试访问流 ( var stream = part.ContentReadStream
) 时,它已关闭。我感觉它正在访问关闭的文件流。我是否错误地使用了 MultipartFormDataStreamProvider?文件大小只有几千字节,所以这应该不是问题。
这是我的帖子
asp.net-mvc - WCF Web API - 模型绑定到对象(确保请求 HttpOperationHandler 具有可分配给类型的输出参数...)
在 WCF Web API Preview 5 上,我正在处理一个奇怪的行为。这是场景:
这是我的模型:
这是 API:
我使用以下代码注册了 API:
当我运行尝试使用以下 URL 访问服务时,我收到此错误:
localhost:36973/Dummy/person?id=1&name=Tugberk&surname=Ugurlu&age=24
服务操作“Get”永远不会收到“Person”类型的输入参数“person”的值。确保请求 HttpOperationHandler 具有可分配给“Person”类型的输出参数。
但是当我像下面这样更改我的 API 逻辑时,它可以工作:
在 WCF Web API 中,我想事情不像在 ASP.NET MVC 中那样工作。
什么是模型绑定到 WCF Web API 中的对象的方式?
更新
我添加了另一种方法:
当我使用以下详细信息调用此方法时:
方法:POST
网址:http://localhost:36973/Dummy/put
接受:/ Content-Type:text/xml
内容长度:189
身体:
我得到了我需要的东西。那么,查询字符串绑定到自定义对象是不允许的吗?
wcf - 在哪里可以找到有关 WCF Web API 的最新文档?
我一直在努力使用 WCF 以我希望它工作的方式来做 REST。显然,还有不少其他人也是如此。我听说过WCF Web Api 项目,但没有仔细研究就错误地忽略了它。可悲的是,现在我正在查看它,我发现文档已经过时了。就像,这篇博文有一些很好的信息,但是类已经改变了,参数已经改变了,简而言之,设计已经改变了。
因此,我一直在使用一个旧示例来说明如何将 Json.NET (newtonsoft) 作为我的序列化器插入,只是意识到在我让它工作后,它对我的 IErrorHandler 不起作用。此外,我遇到了如何将字符串从 uri 模板反序列化为操作类型参数的问题。
Processor<..>
然而,看来我应该能够通过使用媒体格式化程序扩展点和过时文档中称为 s 的东西来解决这两个问题(可能还有许多其他问题,我还没有偶然发现),HttpOperationHandler<..>
除非我误会了。
我的问题相当基本,假设我已正确实现它,我无法弄清楚如何正确配置我的 IIS 托管应用程序以使用我的操作处理程序。由于在这样一个基本的事情上寻求指导感觉相当愚蠢,我宁愿问我在哪里可以找到一些关于如何做这种事情的文档?(当然欢迎解释。)
我不是在查看存在哪些类,或者它们的方法用什么参数命名。我可以在我的对象浏览器中看到所有这些。我需要有关整体设计的文档,和/或隐含描述以下内容的示例:
- API 中的不同类如何组合在一起?
- 如何从 web.config 进行配置?
- 我必须做一个自定义的 HttpServiceHostFactory 吗?
- 您打算使用什么以及如何使用该框架?
- 我应该如何扩展才能达到什么样的目标?
- 我应该如何配置以使扩展生效?
json.net - 我如何使用 webapi 使用嵌套数组列表发布 json 数据
我想以 json 格式返回列表数据。我有两个使用这些 poco 类的 poco 类(Order,Items)我想将数据重新调整为 json 格式
示例 Json 格式化我想要使用 webapi 返回的内容。
wcf - .NET 框架 3.5 的 WebApi HttpClient
.Net framework 3.5 是否有任何可用的 WebApi 包?我特别期待使用 WebApi 的 HttpClient 组件。
是否有适用于 .Net 3.5 的替代方案?
wcf-web-api - 使用处理程序获取 wcfWebapi 中的标头值
在进入 Web-method 之前,如何使用 Handler 在 WcfwebApi 中获取 Header 值。
odata - Wcf Web API 过滤器按 DateTimeOffset
我目前正在使用 WCF Web API Preview 5 并尝试过滤 LastModifiedDate 大于或等于提供的 datetimeoffset 的用户列表:
然而,我得到的只是一个错误说:
过滤似乎工作正常,因为此过滤器返回请求的用户
只是不能让它与 DateTimeOffset 过滤器一起工作,所以我创建的过滤器不正确吗?或者还有其他什么在起作用?
.net - WCF Web API 和实体框架 ICollection 对象:无法序列化成员...因为它是一个接口
在 WCF Web API Preview 6 上,在我的一项服务中,我使用了直接来自 EF 4.2 的对象,但出现以下错误:
无法序列化 System.Collections.Generic.ICollection`1[[DataAccess.SqlServer.AccommProperty, DataAccess, Version=1.0.4350.30311, Culture=neutral, PublicKeyToken=null]] 类型的成员 DataAccess.SqlServer.Resort.AccommProperties,因为它是界面。
这是我的服务代码:
以下是我试图在上面公开的 Resort 类:
就像错误消息说的那样,我无法序列化 interface。但是我应该怎么做我所有的 EF 对象呢?