草庐IT

api-release

全部标签

c# - ASP.NET Web API 中处理程序和筛选器的依赖注入(inject)

我正在尝试连接我的WebApi项目以将CaSTLeWindsor用于IoC我已经按照thisexcellentarticle为我的Controller完成了这项工作.我现在正在尝试将依赖项注入(inject)我的DelegatingHandler和ActionFilterAttribute我试图复制常规ASP.NetMVC中用于过滤器的技术,但它们似乎不适用于WebApi有没有人设法让它工作?我不确定WebApi中的相关扩展点是什么我看到了这个建议config.MessageHandlers.Add(_myContainer.Resolve());但不确定是否有更好的方法。我更愿意利用

c# - Web API 2 - 实现补丁

我目前有一个实现RESTFulAPI的WebAPI。我的API模型如下所示:publicclassMember{publicstringFirstName{get;set;}publicstringLastName{get;set;}publicDateTimeCreated{get;set;}publicDateTimeBirthDate{get;set;}publicboolIsDeleted{get;set;}}我实现了一个PUT方法来更新与此类似的行(为简洁起见,我省略了一些不相关的内容):[Route("{id}")][HttpPut]publicasyncSystem.Th

c# - 在实现具有同步和异步 API 的库以实现相同功能时使用 async await

关于如何在库中提供相同功能的同步和异步实现,我有几个问题。我会先问他们,然后提供下面的示例代码(实际上很多,但实际上很简单)。有没有办法避免违反DRY原则?考虑JsonStreamReader.Read的实现,JsonStreamWriter.Write,JsonStreamWriter.Flush,ProtocolMessenger.Send,ProtocolMessenger.Receive及其异步版本。在对同一方法的同步和异步版本进行单元测试时,是否有一种方法可以避免违反DRY原则?我正在使用NUnit,尽管我想所有框架在这方面应该都是一样的。应该如何实现返回Task的方法或Ta

c# - ASP.NET Web API 的不同返回类型

我正在尝试使用ASP.NETMVC4WebAPI通过HTTP编写真正的RESTfulWeb服务。我目前面临的挑战是根据我的状态码返回不同的返回类型(实体主体)。例如,对于资源Hammer,我有一个.NET模型类“Hammer”和一个HammerController:namespaceAwesomeness{publicclassHammerController:ApiController{publicHammerGet(intid){}...如果ID不存在(404)或需要不同的授权(401),我可以轻松快捷地返回并手动设置状态代码和任何其他内容,这很酷。但是,在许多非2xx状态下,我想

c# - 安排 Web Api 方法按设定的时间间隔运行

在我当前的项目中,需要安排一种方法以设定的时间间隔运行,例如每周一次,目前这是通过Windows服务创建HttpClient并点击所需的Controller方法来完成的。我想知道这是否可以在WebApi项目本身中自动化,而不是使用外部服务。到目前为止,我还没有找到有关执行此操作的任何文档。很抱歉没有代码示例可以工作,因为我还没有找到一个基础。 最佳答案 如果您需要每周安排一个后台任务运行,您可以使用FluentScheduler(NuGetlink)为您运行。你可以这样做:publicclassWeeklyRegistry:Regi

c# - 如何最好地链接到 API Controller

链接到Controller/A/我这样做:@Html.ActionLink(anId,"Action","Controller",new{id=anId})操作带有Resharper下划线,我可以使用F12导航到它。但是我有一个apiController的链接:@Html.ActionLink("APIVersion","../api/controller/",new{id=anId})这没有resharper导航选项,如果我重命名Controller,也不会重构。是否有更简洁的方法从RazorView链接到APIController?特别是一位Resharper承认。

c# - 如何从 Azure Active Directory 获取客户端 secret 以使用一个驱动器业务 API 的 native 应用程序?

我正在开发一个outlook插件。我想在其中使用一个驱动器API。我很容易获得用于一个驱动器个人帐户的API的客户端ID和客户端密码。但是,当我为一个驱动器业务API注册我的应用程序时天蓝色的事件目录,它只为我创建了一个客户端ID,但没有创建任何客户端密码。我在注册时选择了native应用程序,因为我的应用程序是native应用程序。没有客户端密码我无法对用户进行身份验证。请告诉我,如何获取客户端密码?提前致谢。 最佳答案 创建应用程序并单击键。根据需要添加一些描述和到期时间,然后单击保存。key将自动生成。确保复制并保存key,否

c# - 如何使用 C# API 移动 TFS 文件?

我在谷歌上搜索了很长时间,了解如何使用C#使用TFSAPI移动文件。我们的想法是有一个文件夹,开发人员可以在该文件夹上放置数据库升级脚本,构建过程会创建一个构建脚本,并将文件夹中的所有文件移动到一个新文件夹,其中包含我们刚刚创建的数据库构建版本。我真的找不到任何关于在TFS中以编程方式移动文件的引用...(除了cmd命令行)有人知道通过C#学习TFS源代码控制文件操作的好的指南/msdn起点吗? 最佳答案 非常简单:)。Microsoft.TeamFoundation.VersionControl.Client.Workspacew

c# - 在 API 中返回的最佳集合类型是什么

我一直认为在拥有公共(public)API时返回数组比列表更好,但现在看来列表上的所有这些函数都可以通过LINQ等获得。此处返回基元或对象集合的最佳实践是否发生了变化?例如:Order[]GetOrders();ListGetOrders();IEnumerableGetOrders();IQueryableGetOrders(); 最佳答案 因为我通常只从属性/方法返回不可变(不可修改)的对象,所以这个答案假设你想做同样的事情。不要忘记ReadOnlyCollection它返回一个仍然可以通过索引访问的不可变集合。如果您使用IEn

c# - Debug vs Release in optimization of .net(分发给用户时的顾虑)

向公众分发Debug与Release构建是否存在任何安全或性能问题?大多数时候我只是将.exe文件打包到Debug文件夹中(连同所需的依赖项)并将其提供给用户。有什么理由比另一个更喜欢分发吗? 最佳答案 是的,当然有-安全和性能方面的影响。调试版本比发布版本包含更多信息,并且许多编译器优化已针对调试版本关闭。另见Debug/Releasedifference在这里。Arethereanyreasontopreferonemorethantheothertobedistributed?是的。如果您想拥有一个经过优化编译的更快的二进制文