草庐IT

web-based

全部标签

c# - “模型”与声明“System.Web.Mvc.WebViewPage<TModel>.Model”冲突

我想显示以下客户对象。publicClassCustomer{publiclongId{get;set;}publicstringName{get;set;}publicAddressAddressInfo{get;set;}}publicclassAddress{publicstringDetails{get;set;}publicCityCityInfo{get;set;}publicRegionRegionInfo{get;set;}}并且有一个Controller返回给客户查看publicActionResultGetCustomer(longId){returnView("C

c# - 如何在 ASP.NET Core Web Api 中完成版本控制

在之前的asp.netwebapi中,我实现了DefaultHttpControllerSelector来指定我希望请求如何定位我的Controller。我经常有不同名称但用于相同进程的不同Controller。唯一的区别是一个版本比另一个版本高。例如,我可以有一个名为BookingV1Controller的Controller,用于处理服务的第一个版本。我还会有BookingV2Controller,它旨在处理服务的第二个版本。然后,客户端应用程序将使用此urlhttp://myservice.com/api/v2/booking/someaction?id=12向服务发出请求。为了

c# - 检测 Web.Config 身份验证模式

假设我有以下web.config:使用ASP.NETC#,如何检测身份验证标记的模式值? 最佳答案 身份验证部分的模式属性:AuthenticationSection.ModeProperty(System.Web.Configuration).您甚至可以对其进行修改。//GetthecurrentModeproperty.AuthenticationModecurrentMode=authenticationSection.Mode;//SettheModepropertytoWindows.authenticationSecti

c# - System.Web.Http.ApiController.get_Request() 中缺少方法

我有一个Controller。publicsealedclassAccountsController:BaseApiController{privatereadonlyIDatabaseAdapter_databaseAdapter;publicAccountsController(IDatabaseAdapterdatabaseAdapter){_databaseAdapter=databaseAdapter;}[AllowAnonymous][Route("create")]publicasyncTaskCreateUser(CreateUserBindingModelcreate

c# - 使用 "base"是不好的做法,即使它可能有利于可读性?

我知道这是一个主观问题,但我一直对编码风格的最佳实践感到好奇。ReSharper4.5在实现类中的基方法调用之前就关键字“base”发出警告,即base.DoCommonBaseBehaviorThing();虽然我很欣赏“少即是好”的心态,但我也花了很多时间调试/维护高度链接的应用程序,并且觉得仅通过查看就知道成员调用是对基础对象的可能会有所帮助在它。当然,更改ReSharper的规则很简单,但你们怎么看?调用基成员时应该使用“base”吗? 最佳答案 唯一应该使用base.MethodCall();的情况是子类中有一个重写的同名

c# - 在 ASP.NET Core Web API 项目中保持 Controller 温暖

我注意到,一段时间后,我的ASP.NETCoreWebAPI服务似乎会经历与您全新启动它们时相同的初始化过程,即初始请求很慢,但后续请求很快。是否有一种通用技术可以使Controller保持温暖,从而避免这种情况发生?作为引用,我没有使用IIS(据我所知),这些服务使用Microsoft的官方.NETCoredocker镜像(不是基于Alpine)在Docker中运行。我还应该指出,这些服务中的Controller在启动时通过/ready端点预热,Kubernetes调用该端点作为就绪检查。问题是这似乎不会持续很长时间。 最佳答案

c# - 单元测试 Windows.Web.Http HttpClient 与模拟 IHttpFilter 和 IHttpContent,MockedHttpFilter 抛出 System.InvalidCastException

我有一个依赖于Windows.Web.Http(Windows10UAP应用程序)中的HttpClient的类。我想进行单元测试,因此我需要“模拟”HttpClient来设置Get-Call应该返回的内容。我开始使用HttpClient使用手写模拟IHttpFilter和IHttpContent进行“简单”单元测试。它没有按预期工作,我在Test-Explorer中收到InvalidCastException。单元测试看起来像:[TestMethod]publicasyncTaskTestMockedHttpFilter(){MockedHttpContentmockedContent

c# - 使 Web API 身份验证返回 401 而不是重定向到登录页面

我在WebMVC中有带有OWIN身份验证的WebAPI。我正在使用在我的WebMVC的Web.Config中,因此它重定向到登录页面。我正在使用[System.Web.Http.Authorize]属性来授权我的WebAPI。但不知何故,由于上述配置,API重定向到登录页面与我的MVC应用程序相同。我想做的是继续为WebMVC重定向功能,但为WebAPI返回401。我怎样才能做到这一点?我应该为WebAPI创建自定义授权属性吗?--编辑--我从这篇文章中找到了答案SuppressDefaultHostAuthenticationinWebApi.Owinalsosuppressinga

c# - 通过 ASP Core MVC、Web API 和 IdentityServer4 的身份验证?

我一直致力于将单体ASPCoreMVC应用程序迁移到使用服务架构设计。MVC前端网站使用HttpClient从ASPCoreWebAPI加载必要的数据。一小部分前端MVC应用程序还需要使用IdentityServer4(与后端API集成)进行身份验证。这一切都很好,直到我将Authorize属性放在WebAPI的Controller或方法上。我知道我需要以某种方式将用户授权从前端传递到后端才能使其正常工作,但我不确定如何进行。我尝试获取access_token:User.FindFirst("access_token")但它返回null。然后我尝试了这个方法,我能够得到token:va

c# - 使用 ASP.NET Web API 启用 HTTP 压缩

我们通过Asp.NETWebAPI为网站提供文件服务:publicclassStartup{publicvoidConfiguration(IAppBuilderapp){varclientHostname=System.Configuration.ConfigurationManager.AppSettings["ClientHostname"];varstaticFileOptions=newStaticFileOptions(){OnPrepareResponse=staticFileResponseContext=>{staticFileResponseContext.Owin