Tag: asp.net core

如何在asp.net核心中创建角色并将其分配给用户

我使用asp.net核心默认网站模板和身份validation选择为个人用户帐户。 如何创建角色并将其分配给用户,以便我可以使用控制器中的角色来过滤访问权限。

.Net Core 2.0 Windows服务

我正在尝试在.Net Core 2.0中构建一个Windows服务,但是我一直在墙上敲了一整天,没有任何进展。 一切似乎都使用Core 1.0 / 1.1甚至Microsoft文档: 在Windows服务中托管ASP.NET Core应用程序 就我所见, TopShelf也不支持2.0。 我已经看到一些奇怪的解决方案,将所有代码放在.Net标准类库中,然后使用.Net Framework应用程序来托管Windows服务,但这在我看来并不优雅,我试图获得完全摆脱.Net Framework。 我现在想要做什么呢? 我错过了一些非常基本的东西吗

ASP.Net-Core中的自定义身份validation

我正在开发一个需要与现有用户数据库集成的Web应用程序。 我仍然想使用[Authorize]属性,但我不想使用Identity框架。 如果我确实想使用Identity框架,我会在startup.cs文件中添加这样的内容: services.AddIdentity(options => { options.Password.RequireNonLetterOrDigit = false; }).AddEntityFrameworkStores() .AddDefaultTokenProviders(); 我假设我必须在那里添加其他东西,然后创建某种实现特定接口的类? 有人能指出我正确的方向吗? 我正在使用asp.net 5的RC1。

如何解决.net核心构建错误NETDSDK1061和警告MSB3277

我遇到了问题,我的AspNetCore.App-metapackage引用了较低版本的EntityFrameworkCore(2.1.2),而不是EfCore提供程序包(NpgSql,引用2.1.3)。 结果是警告MSB3277( 这是问题 )。 对此的快速修复是接受的答案。 另一个答案指出,我使用的是较低的Microsoft.AspNetCore.App软件包(当时为2.1.1),而不是上一个稳定版本(2.1.4)。 更改包版本是不可能的(见下图)。 我在类库项目中遇到了与Microsoft.NETCore.App相同的问题 我甚至没有注意到我使用了比现有更旧的元数据包。 直到今天,我总是检查,如果NuGet包管理器中有任何更新。 我使用了默认的项目模板,并且始终安装了最新的.NetCore SDK,相信这已经足够了。 不是。 在研究了这个问题之后,我发现,我可以强制我的项目使用特定的.NETCore.App或AspNetCore.App元数据包和软件包管理器控制台( Install-Package Microsoft.NETCore.App -Version 2.1.4或者Install-Package Microsoft.AspNetCore.App -Version 2.1.4 )。 在那个命令之后我有一个构建错误( NETSDK1061: The project was restored using Microsoft.NETCore.App version 2.1.4, but with current settings, version 2.1.0 would be used instead. To resolve this issue, make sure the same settings are used for restore […]

.net核心中的WCF(TransportWithMessageCredential)

当我尝试在dotnet core 2.0中创建与WCF客户端的连接时,我收到一个不支持的平台错误: System.PlatformNotSupportedException: ‘The value ‘TransportWithMessageCredential’ is not supported in this context for the binding security property ‘securityMode’.’ 如果我删除BasicHttpSecurityMode ,我收到一个参数exception:System.ArgumentException:’提供的URI方案’https’无效; 预计’http’。’ 码: ChannelFactory factory = null; BlackBoxContract serviceProxy = null; Binding binding = null; binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential); factory = new ChannelFactory(binding, new EndpointAddress(“https:…….”));; serviceProxy = factory.CreateChannel(); 任何找到解决方法的人都可能在长期路线图中? https://github.com/dotnet/wcf/issues/8

Moq并设置DB Context

我有一个Entity Framework数据库上下文文件。 我正在尝试在NUnit中设置Moq框架。 目前接收Moq Nunit测试的错误如下。 如何设置DBContext,并将项目添加到产品表? “没有为此DbContext配置数据库提供程序。可以通过覆盖DbContext.OnConfiguring方法或在应用程序服务提供程序上使用AddDbContext来配置提供程序。如果使用AddDbContext,则还要确保您的DbContext类型接受DbContextOptions对象它的构造函数并将其传递给DbContext的基础构造函数。“ 电子DB数据库文件 public partial class ElectronicsContext : DbContext { public ElectronicsContext() { } public ElectronicsContext(DbContextOptions options) : base(options) { } public virtual DbSet Product { get; set; } public virtual DbSet ProductCategory { get; set; } Startup.cs var connection = @”Server=localhost;Database=Electronics;Trusted_Connection=True;ConnectRetryCount=0″; services.AddDbContext(options => options.UseSqlServer(connection)); Moq Nunit测试 [SetUp] public void […]

在ASP.NET Core中到达控制器之前拦截错误请求

如果收到的请求是BadRequest,我有一个逻辑申请,为此我创建了一个filter: public class ValidateModelAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext context) { if (!context.ModelState.IsValid) { // Apply logic } } } 在初创公司: public void ConfigureServices(IServiceCollection services) { services.AddMvc(options => { options.Filters.Add(); }); } 控制器: [Route(“api/[controller]”)] [ApiController] public class VerifyController : ControllerBase { [Route(“test”)] [HttpPost] [ValidateModel] public ActionResult validationTest(PersonalInfo personalInfo) { return null; } } […]

标记助手未在ASP.NET Core 2中处理

我添加了以下标记帮助器: using System; using System.Linq; using Microsoft.AspNetCore.Mvc.ModelBinding; using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.AspNetCore.Mvc.TagHelpers; using Microsoft.AspNetCore.Mvc.ViewFeatures; using Microsoft.AspNetCore.Razor.TagHelpers; namespace X.TagHelpers { [HtmlTargetElement(Attributes = ValidationForAttributeName + “,” + ValidationErrorClassName)] public class ValidationClassTagHelper : TagHelper { private const string ValidationForAttributeName = “k-validation-for”; private const string ValidationErrorClassName = “k-error-class”; [HtmlAttributeName(ValidationForAttributeName)] public ModelExpression For { get; set; } [HtmlAttributeName(ValidationErrorClassName)] public string ValidationErrorClass […]

没有配置身份validation处理程序来validation该方案:Microsoft.AspNet.Identity.External

我正在使用asp.net 5 rc2构建一个api。 我正在尝试实现openiddict-core,在这里找到本地帐户,我也想让用户使用外部登录,例如谷歌。 我已经设置了所有,但当我尝试实现谷歌身份validation,我称之为代码 var info = await _signInManager.GetExternalLoginInfoAsync(); 我在标题中收到错误消息。 在客户端我正在使用这里找到的Satellizer,它负责打开google提示窗口并将回调发送到我的AuthController Google方法,这是您在其他mvc6示例中看到的正常ChallengeResult代码。 我已经编写了代码来手动获取用户的详细信息,但是我认为我会使用已经构建的signInManager,而不是重现轮… 我可能没有正确设置,因为所有示例似乎都使用cookie,我猜测是因为它们是mvc6 Web应用程序,而不是api。 我不想使用cookies,但这可能是我的问题。 现在为一些代码。 startup.cs public void ConfigureServices(IServiceCollection services) { // Add MVC services to the services container. services.AddMvc(); services.AddEntityFramework() .AddSqlServer() .AddDbContext(options => options.UseSqlServer(_configuration[“Data:DefaultConnection:ConnectionString”])); services.AddIdentity() .AddEntityFrameworkStores() .AddDefaultTokenProviders() .AddOpenIddict(); // Add the OpenIddict services after registering the Identity services. } public void […]

找不到ASP.NET 5.0中的HttpClient?

使用VS2015和asp.net 5,当我尝试使用System.Net.HttpClient实例编译我的网站时,它告诉我: 找不到类型或命名空间名称’HttpClient’(您是否缺少using指令或程序集引用?) 将鼠标hover在有问题的代码上,我看到: “WebApplication1.ASP.NET 5.0 – Available” “WebApplication1.ASP.NET Core 5.0 – Not Available” 我的project.json文件中列出了2个框架: “frameworks”: { “aspnet50”: { }, “aspnetcore50”: { } }, 我假设其中一个是由于没有组装而负责,但我真的不知道如何解决它或如何工作。 如何让网站与HttpClient一起运行而不是抛出错误? 违规方法发布如下: private async Task GetStringFromUri() { using (var httpClient = new HttpClient()) { result = await httpClient.GetStringAsync( new Uri(“http://baconipsum.com/api/?type=meat-and-filler”)); viewModel= result; return viewModel; } }