草庐IT

c# - 来自 Windows 窗体的 MVC WebAPI 身份验证

我正在尝试制作一个Windows窗体应用程序,该应用程序可插入ASP.NETMVCWebAPI公开的某些服务,但在身份验证/登录部分遇到了很多麻烦。我似乎找不到一个示例来演示如何从Windows窗体执行此操作,我发现的所有内容似乎都非常复杂并且包含很多非常深入的管道,或者似乎针对其他ASP.NET网站,而不是窗体。有什么我想念的吗?这是不可能的吗?或者它只是不是故意的?我看过这样的东西.NETWebApiAuthentication声称这样做,但我不知道如何从Windows窗体的角度使用cookie。我也看过http://blogs.msdn.com/b/webdev/archive/

c# - 在 Ajax 请求的 Asp.Net MVC 操作中处理未处理的异常(错误 500 响应)的最佳策略是什么?

我很困惑如何处理这种情况。通常,当发生未处理的ASP.Net异常时,服务器会发回某种HTML消息,或者是默认的Asp.Net错误处理程序,或者是自定义错误处理程序。不过,在任何一种情况下,都会发回HTML(通常使页面对用户友好是个好主意)。但是,我遇到了一个问题,即在预期为Ajax调用返回JSON的Asp.netMVCController操作中出现未处理的异常。当javascript读取返回的页面(它是HTML而不是预期的JSON)时,由于无法将响应转换为JSON(现在我正在使用ExtJS)而崩溃。我希望在发生异常时返回Json,以便可以通知用户发生了错误。我能想到的唯一解决方案是在每

c# - MVC 自定义身份验证、授权和角色实现

请耐心等待我提供问题的详细信息...我有一个MVC站点,使用FormsAuthentication和自定义服务类进行身份验证、授权、角色/成员身份等。身份验证一共有三种登录方式:(1)邮箱+别名,(2)OpenID,(3)用户名+密码em>。这三个都为用户提供了一个身份验证cookie并启动了一个session。前两个供访问者使用(仅限session),第三个供具有数据库帐户的作者/管理员使用。publicclassBaseFormsAuthenticationService:IAuthenticationService{//Disperseauthcookieandstoreuser

c# - 使用 Simple Injector 的 Per Thread 和 Per Web Request 的混合生活方式

我正在使用SimpleInjector作为我的IoC库。我根据网络请求注册了DbContext,它工作正常。但是有一项任务是我在后台线程中运行它。所以,我在创建DbContext实例时遇到了问题。例如Service1有一个DbContext实例Service2有一个DbContext的实例Service1和Service2从后台线程运行。Service1获取实体并将其传递给Service2Service2使用该实体,但实体与DbContext分离其实问题就出在这里:Service1.DbContext和Service2.DbContext的区别。似乎当我在ASP.NETMVC中的单独线

c# - ASP.NET Web API 跨请求缓存操作过滤器属性

在ASP.NETWebAPI(4.0.30506)中似乎有一些我以前从未见过的奇怪行为。我看到的是相同的操作过滤器属性实例在WebAPI请求中重复使用。如果此属性被注入(inject)依赖项,这尤其是一个问题,因为这些依赖项可能特定于Web请求。我知道属性最好是passive,但我的假设是操作过滤器属性未缓存。我搜索了任何描述此问题及其背后原因的文章、博客文章或Microsoft更改日志,但我找不到任何东西。这让我想知道我的配置是否有问题导致这种情况发生。然而,我能够在一个新的空VisualStudio2012WebAPI项目中重现这个问题。我所做的是使用带有“WebAPI”模板的Vi

c# - 在 ASP.NET MVC Core 项目的 View 中使用 C# 7 功能

我已经寻找与此相关的其他问题,但似乎没有一个是我正在寻找的。我有一个在ASP.NETCore上运行的网站,它具有VS2017中的新项目结构。使用C#7功能的代码文件编译良好。但是尝试在View中使用这些功能会导致一系列语法错误。我尝试安装Roslyn以便在编译View时使用它,因为据我所知,C#7功能在Roslynnuget包2.x及更高版本中可用。但现在我收到的反馈明确指出errorCS8059:Feature'outvariabledeclaration'isnotavailableinC#6.Pleaseuselanguageversion7orgreater.在过去,我会检查w

c# - 如何连接到 ASP.NET MVC 中的现有数据库?

我刚开始学习C#和ASP.NETMVC,但我找到的每个示例都将数据库放在App_Data文件夹中。我不想这样做。我想创建一个新版本的NerdDinner并将连接字符串移动到web.config,但我找不到任何有关如何执行此操作的示例。我的数据库名为NerdDinner,我使用的是SQLServerExpress。将新连接字符串添加到我的网络配置中的正确语法是什么?这对创建LINQtoSQL类有什么影响吗? 最佳答案 我总是去http://www.connectionstrings.com/当我忘记如何编写连接字符串时。标准安全SQL

c# - DelegatingHandler 不执行 ASP.Net Web Api

今天我在我的WebApi应用程序中遇到了一个奇怪的行为protectedvoidApplication_Start(){FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes);GlobalConfiguration.Configuration.MessageHandlers.Add(newDummyMessageHandler());}我的DelegatingHandler看起来像这样。publicclassDummyMessageHa

c# - 在 AppPool 循环后重新连接时,MVC5 卡在 MapSignalR 上

我的Startup.SignalR.cs中有以下代码:usingMicrosoft.AspNet.SignalR;usingOwin;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceAdmin{publicpartialclassStartup{publicvoidConfigureSignalR(IAppBuilderapp){varConfig=newHubConfiguration(){EnableD

c# - 您可以在同一个 Web API Controller 中使用 2 个具有不同参数类型的 GET 方法吗?

这个问题在这里已经有了答案:CanIhaveMultipleGetMethodsinASP.NetWebAPIcontroller(2个答案)关闭7年前。我有一个带有2个GET方法的asp.netwebapiController。一个接受字符串参数,另一个接受int参数。我只有使用webapi设置的默认路由。publicHttpResponseMessageGetSearchResults(stringsearchTerm){HttpResponseMessageresponse;//DoWorkreturnresponse;}publicHttpResponseMessageGet(