Questions tagged «asp.net-core»

ASP.NET Core是一个精简,可组合且跨平台的框架,用于构建Web和云应用程序。它在GitHub上是完全开源的。ASP.NET Core应用程序可以在具有完整.NET Framework或更小的.NET Core的Windows上运行,也可以在具有.NET Core和Mono的Linux和MacOS上运行。



9
ASP.NET Core Web API身份验证
我正在努力如何在Web服务中设置身份验证。该服务是使用ASP.NET Core Web API构建的。 我所有的客户端(WPF应用程序)应使用相同的凭据来调用Web服务操作。 经过研究,我想到了基本的身份验证-在HTTP请求的标头中发送用户名和密码。但是经过数小时的研究,在我看来,基本身份验证不是ASP.NET Core的方法。 我发现的大多数资源都是使用OAuth或其他中间件来实现身份验证。但这对于我的情况以及使用ASP.NET Core的Identity部分来说似乎太大了。 那么,实现我的目标的正确方法是什么-在ASP.NET Core Web服务中使用用户名和密码进行简单身份验证? 提前致谢!

5
如何在ASP.NET Core MVC中获得“网址引荐来源网址”?
我正在尝试将ASP.NET MVC网络表单迁移到ASP.NET Core MVC。目前,我在Request.UrlReferrer上课时遇到了麻烦。 原始行是: [HttpPost] public async Task<ActionResult> ContactUsFormSubmit(ContactUs request) { var siteUrl = Request.UrlReferrer.ToString().ToLower(); .... } 但是,对于ASP.NET Core,UrlReferrer不可用。我发现以下内容: Request.Headers["Referer"] 它返回StringValues而不是String。我不确定是否应该尝试使用这种方法,或者是否有其他解决方案可以解决这种情况。Request.ServerVariables也不可用,或者我没有名称空间。我的命名空间如下: using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using Newtonsoft.Json.Linq; 如果有人能引导我朝正确的方向前进,我将不胜感激。

5
Visual Studio 2017安装中断Visual Studio 2015 ASP.NET Core项目
安装Visual Studio 2017专业版后,我无法再在Visual Studio 2015专业版中构建ASP.NET Core。我从未在VS2017中打开过这个项目 我懂了 尝试运行项目模型服务器进程(1.0.0-preview3-004056)时发生以下错误。 无法启动该过程。找不到与命令dotnet-projectmodel-server匹配的可执行文件 然后,我在Visual Studio 2015中创建了一个全新的ASP.NET Core项目,加载项目时得到的消息完全相同。 另外,当我要构建项目时,我得到 MSB1009:项目文件不存在。 ASP.NET 5项目不会发生相同的问题,因此仅限于ASP.NET Core Visual Studio 2017 3月7日更新 如果像下面的答案中那样添加了global.json,则global.json该C:\Program Files\dotnet\sdk\文件夹中存在的和中使用的任何.net框架版本都会收到错误消息 错误MSB4019找不到导入的项目“ C:\ Program Files \ dotnet \ sdk \ XXX \ Microsoft \ VisualStudio \ v14.0 \ DotNet \ Microsoft.DotNet.Props”。确认声明中的路径正确,并且文件在磁盘上。 另外,当关闭Visual Studio并再次将其重新打开时,也会收到原始错误消息

2
模拟HttpContext来对.NET核心MVC控制器进行单元测试?
我在单元测试的控制器中有一个函数,该函数期望http请求的标头中的值。我无法初始化HttpContext,因为它是只读的。 我的控制器函数期望“ device-id”的http请求标头值为 [TestMethod] public void TestValuesController() { ValuesController controller = new ValuesController(); //not valid controller.HttpContext is readonly //controller.HttpContext = new DefaultHttpContext(); var result = controller.Get(); Assert.AreEqual(result.Count(), 2); } 有没有使用第三方库的简单方法?

7
尝试激活“ AuthController”时无法解析类型为“ Microsoft.AspNetCore.Identity.UserManager”的服务
我在登录控制器中收到此错误。 InvalidOperationException:尝试激活“ Automobile.Server.Controllers.AuthController”时,无法解析类型为“ Microsoft.AspNetCore.Identity.UserManager`1 [Automobile.Models.Account]”的服务。 这是Auth Controller构造函数: private SignInManager<Automobile.Models.Account> _signManager; private UserManager<Automobile.Models.Account> _userManager; public AuthController(UserManager<Models.Account> userManager, SignInManager<Automobile.Models.Account> signManager) { this._userManager = userManager; this._signManager = signManager; } 这是startup.cs中的ConfigureServices: public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddApplicationInsightsTelemetry(Configuration); services.Configure<AppConfig>(Configuration.GetSection("AppSettings")); //var provider = HttpContext.ApplicationServices; //var someService = provider.GetService(typeof(ISomeService)); services.AddDbContext<Providers.Database.EFProvider.DataContext>(options => options .UseSqlServer(Configuration.GetConnectionString("DefaultConnection"), …

5
.NET Core身份服务器4身份验证VS身份身份验证
我试图了解在ASP.NET Core中进行身份验证的正确方法。我看了几个资源(其中大多数已过时)。 微软身份的简单实现 ASP.Core身份验证简介 MSDN身份简介 有人提供替代性解决方案,说明使用基于云的解决方案(例如Azure AD)或使用IdentityServer4并托管我自己的令牌服务器。 在旧版本的.Net中,身份验证的一种较简单形式是创建自定义原则,并在其中存储其他身份验证用户数据。 public interface ICustomPrincipal : System.Security.Principal.IPrincipal { string FirstName { get; set; } string LastName { get; set; } } public class CustomPrincipal : ICustomPrincipal { public IIdentity Identity { get; private set; } public CustomPrincipal(string username) { this.Identity = new GenericIdentity(username); } …



7
从ASP .Net Core 1.0.0-rc2-final交换为1.0.0时,JSON属性现在小写
我刚刚将项目从ASP .Net Core 1.0.0-rc2-final交换为1.0.0。由于JSON属性的大写,我们的网站和客户端已停止工作。例如,此行JavaScript现在失败 for (var i = 0; i < collection.Items.length; i++){ 因为控制器现在将数组称为“ items”而不是“ Items”。除了安装更新的软件包和编辑project.json文件外,我没有做任何更改。我尚未更改仍使用其属性的C#模型文件。 为什么ASP.Net Core控制器开始使用小写属性返回JSON?我该如何回到他们那里来纪念模型中属性名称的大小写?

6
如何在ASP.NET Core中实施小写路由?
在ASP.NET 4中,这就像routes.LowercaseUrls = true;在RegisterRoutes应用程序的处理程序中一样容易。 我无法在ASP.NET Core中找到等效的方法来实现此目的。我想它会在这里: app.UseMvc(configureRoutes => { configureRoutes.MapRoute("Default", "{controller=App}/{action=Index}/{id?}"); }); 但是configureRoutes看起来没有什么允许它...除非我可能在文档中找不到某个扩展方法?

2
ASP.NET Core 2.0身份验证中间件
使用Core 1.1遵循@blowdart的建议并实现了自定义中间件: https://stackoverflow.com/a/31465227/29821 它像这样工作: 中间件运行了。从请求标头中提取一个令牌。 验证令牌,如果有效,则建立一个包含多个声明的身份(ClaimsIdentity),然后通过HttpContext.User.AddIdentity()添加它; 在使用services.AddAuthorization的ConfigureServices中,我添加了一个策略来要求由中间件提供的声明。 然后,在控制器/操作中,我将使用[Authorize(Roles =“中间件添加的某些角色”)] 这在2.0上适用,但是如果令牌无效(上面的步骤2)并且从不添加声明,则会得到“未指定authenticationScheme,并且未找到DefaultChallengeScheme”的信息。 所以现在我正在阅读auth在2.0中更改了: https://docs.microsoft.com/zh-cn/aspnet/core/migration/1x-to-2x/identity-2x 在ASP.NET Core 2.0中执行相同操作的正确方法是什么?我没有看到进行真正的自定义身份验证的示例。

4
为什么Visual Studio告诉我未定义AddJsonFile()方法?
我正在使用VS Ultimate 2015 Preview开发ASP.NET 5 WebAPI项目。我正在尝试以这种方式配置应用程序(行号仅供参考): 1 using Microsoft.Framework.ConfigurationModel; 2 3 public IConfiguration Configuration { get; private set; } 4 5 public Startup() 6 { 7 Configuration = new Configuration() 8 .AddJsonFile("config.json") 9 .AddEnvironmentVariables(); 10 } 第8行给我一个错误:“配置”不包含“ AddJsonFile”的定义... 怎么了?

8
从Microsoft.AspNet.Http.HttpRequest获取原始URL
的HttpRequest在Asp.Net 5(vNext)类包含(除其他事项外)大约的URL请求解析的细节,例如Scheme,Host,Path等。 我还没有发现公开原始请求URL的任何地方-仅这些解析的值。(在以前的版本中有Request.Uri) 是否可以不必从HttpRequest上可用的组件将原始URL拼凑起来就获取原始URL?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.