草庐IT

api_login_check

全部标签

c# - Web API 2/MVC 5 : Attribute Routing passing parameters as querystring to target different actions on same controller

我一直在玩新的WebAPI2(顺便说一句,它看起来很有前途),但我有点头疼要让一些路由正常工作。当我有GetAllUsers/GetUser(intid)时一切正常,但是当我添加GetUserByName(stringname)和/或GetUserByUsername(stringusername)时,事情开始变得令人毛骨悚然。我知道int将是第一个,我可以重新排序路由,但让我们想象一下以下场景:用户可以有一个有效的username=1234或name=1234(我知道这不太可能,但我们需要防止任何可能的情况)并且我们可能有一个有效的1234数据库中的ID和所有路由将混淆。也许这是我们

c# - Web Api 2 API 无法识别路由的多个属性(版本控制)

我正在尝试同时实现AttributeRouting和来自RoutingConstaintsSample的VersionedRoute但是当我在Controller上同时使用两者时,versioned属性不再有效。我需要对属性进行哪些修改才能使其与属性路由配合使用?对于代码示例,请下载示例项目(或者只查看上面链接中的几个文件),然后这样修改路由://WhenIusetheRoutePrefix,VersionedRoutenolongerworks(Sending"Api-Version"throughhttpheaderdoesn'troutecorrectly//IfIremovet

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

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

c# - 在运行内部代码之前,在锁之前和锁内设置 "double check"是否可以?

在处理线程安全时,我发现自己总是在执行锁block中的代码之前“仔细检查”,我想知道自己是否做对了。考虑以下三种做同样事情的方法:示例1:privatestaticSomeCollectionMyCollection;privatestaticObjectlocker;privatevoidDoSomething(stringkey){if(MyCollection[key]==null){lock(locker){MyCollection[key]=DoSomethingExpensive();}}DoSomethingWithResult(MyCollection[key]);}示

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# - .NET 配置文件 : How to check if ConfigSection is present

考虑:行:block:假设该行在.config文件中可用,而该block丢失。如何以编程方式检查block是否存在?[编辑]对于那些迅速将问题标记为否定的天才们:我已经试过了ConfigurationManager.GetSection()和varconfig=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);varsection=config.GetSection("unity");varsInfo=section.SectionInformation;varisDeclared=sInfo.