Tag: asp.net core

使用Asp.Net Core 2.0中的AllowHtml从数据库生成网页

我有一个应用程序使用Asp.Net 4.61,其中我从数据库字段描述中读取html并使用它来填充我的应用程序中的页面。 我通过使用[AllowHtml]标记属性Description来完成此操作。 在我的Asp.Net Core 2.0应用程序中,我收到一个错误,即找不到程序集引用或指令。 我有两个问题 – 希望能够让我更好地回答以下问题: 是否有我可以搜索的文档/网站,以查看AllowHtml是否在Core 2.0中 如果我想通过从我的数据库中读取填充网页而不是使用[AllowHtml]装饰字段/属性,是否有更好/更安全的方法?

如何在asp.net Core中使用JWT

我按照JWT身份validation为Asp.Net Web Api回答将JWT添加到我的asp.net核心项目但是.net core中不支持System.Web.Http.Filters ? 任何更好的保护Web API的解决方案???

C#使用foreach访问层次结构的子成员

我想让Foreach为下面的htmlrazor工作。 在一天结束时,我希望ShoppingCart成为CartLines的列表。 我想摆脱[0]语句,并使其变量。 任何解决方案或最佳方法都会有所帮 随意编辑课程。 class ShoppingCart { public IList Items { get; } = new List(); public ShoppingCart() {} } public class CartLine { public int CartLineId { get; set; } public Product Product { get; set; } public int Quantity { get; set; } } @model IEnumerable @foreach (var item in Model) { […]

EF7 beta5:外键返回空值

我使用ASP.NET5和Entity Framework 7.0.0-beta 5创建了一个API。 我创建了Model,DbContext和Repository,当我尝试从数据库中检索数据时,除了外键数据外,我得到了所有数据。 外键值始终为null。 的DbContext public class MrBellhopContext : DbContext { public DbSet Company { get; set; } public DbSet CompanyStatus { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity().Table(“Company”); modelBuilder.Entity().Key(c => c.CompanyId); modelBuilder.Entity().Index(c => c.Name); modelBuilder.Entity().Reference(c => c.Status).InverseReference().ForeignKey(c => c.StatusId); modelBuilder.Entity().Table(“CompanyStatus”); modelBuilder.Entity().Key(c => c.StatusId); base.OnModelCreating(modelBuilder); } } 模型 public class […]

使用Kudu在Azure上部署ASP.NET vNext beta 2

根据这篇博文 ,我可以使用Kudu将vNext应用程序部署到Azure。 我已成功使用vNext beta 1尝试过它。但是,它不能与vNext beta 2一起使用。 为什么我不能使用vNext beta 2进行部署? 我认为vNext的全部想法是将所有内容(包括CLR)下载为NuGet包。

修改ASP.NET Core中的静态文件响应

我通过app.UseStaticFiles()在我的应用程序中提供了一堆静态文件。 我希望在发送之前为特定HTML文件的响应注入一些额外的标记。 我的第一次尝试是在静态文件中间件之前添加这样的中间件: app.Use(async (context, next) => { await next(); // Modify the response here }); 但是,这不起作用,因为我实际上无法读取读取响应流 – 它使用了引擎盖下的Kestrel的FrameResponseStream ,这是不可读的。 所以,我想我可以用我可以写入的MemoryStream替换响应体流: app.Use(async (context, next) => { context.Response.Body = new MemoryStream(); await next(); // Modify the response here }); 但这只会导致请求永远不会完成 – 它会遍历所有管道阶段,但它甚至都不会向浏览器返回任何标头。 那么,有什么办法可以修改StaticFileMiddleware产生的响应吗? 更新 由于所讨论的HTML文件很小(765字节),因此不需要考虑内存消耗。 但是,任何读取/修改响应的尝试仍会导致与以前相同的问题(不返回任何内容)。 更明确地说,这是做什么的: app.Use(async (context, next) => { var originalStream = context.Response.Body; […]

在DbContext.OnConfiguring和AspCore Startup.ConfigureServices中定义optionsBuilder时,预期的结果是什么?

我的ASP.NET核心有这个类首先被调用 public class Startup { public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext(options => options.UseSqlServer(Configuration.GetConnectionString(“DefaultConnection”))); services.AddMvc(); } 我的背景是这样的: public class IssuerContext : DbContext { protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { var connString = “Server=(localdb)\\mssqllocaldb;Database=HavenServer;ConnectRetryCount=0;Trusted_Connection=True;MultipleActiveResultSets=true\””; […]

使用多个提交建模和validation表单

我试图找出使用ASP.Net Core 2建模和validation具有多个表单标签和多个提交按钮的表单的正确方法。我所拥有的是一个表单,用户可以输入用户名和密码并登录OR输入他们的名字,姓氏和手机号码并注册。 这是我的模型: public class Landing { [Required] public string Username { get; set; } [Required] public string Password { get; set; } [Required] public string FirstName { get; set; } [Required] public string LastName { get; set; } [Required] public string CellNumber { get; set; } } 这是我的相关剃刀视图代码: @model MyApp.ViewModels.Landing 现在遇到的问题是我的validation。 因为我的所有字段都标有[Required]属性,所以当我使用提交按钮提交表单时,它会validation所有5个字段。 我想要做的是仅validationUserName和Password […]

在dotnetcore中重新加载运行时的路由

我有一个自定义路由,从无SQL数据库(MongoDB)读取URL,并在应用程序启动时将它们添加到路由管道,这是“非常标准” 像这样的东西(在我的startup.cs文件中): app.UseMvc(routes => { routes.MapRoute( “default”, “{controller=Home}/{action=Index}/{id?}”); routes.Routes.Add( new LandingPageRouter(routes, webrequest, memoryCache, Configuration)); // this custom routes adds URLs from database } 问题是,如果我在应用程序启动后向数据库添加另一个路由,我基本上得到404,因为路由系统不知道这个新路由,我认为我需要的是在运行时添加缺少的路由或(不方便)从另一个Web应用程序(已在框架4.5上开发,显然它在不同的池上运行)重新启动应用程序池 还有其他想法吗? 谢谢。

如何从.net核心IoC容器中删除默认服务?

关于.net核心的一个美妙的事情是它非常模块化和可配置。 这种灵活性的一个关键方面是它通过接口利用IoC来注册服务。 理论上,这允许用很少的努力用该服务的自定义实现替换默认的.net服务。 理论上这一切听起来都很棒。 但我有一个真实的工作案例,我想用我自己的替换默认的.net核心服务,我无法弄清楚如何删除默认服务。 更具体地说,在Startup.cs ConfigureServices方法中,当调用services.AddSession() ,它会在代码后注册DistributedSessionStore vai: services.AddTransient(); 可以在源代码中看到: https : //github.com/aspnet/Session/blob/rel/1.1.0/src/Microsoft.AspNetCore.Session/SessionServiceCollectionExtensions.cs 我想用我自己创建的那个替换那个ISessionStore。 所以,如果我有一个类RonsSessionStore:ISessionStore我想用来替换当前注册的ISessionStore的ISessionStore,我该怎么办呢? 我知道我可以通过以下方法在Startup.cs ConfigureServices方法中注册我的ISessionStore: services.AddTransient(); 但是,如何删除已注册的DistributedSessionStore ? 我尝试在startup.cs ConfigureServices方法中完成此ConfigureServices services.Remove(ServiceDescriptor.Transient()); 但它没有任何效果,DistributedSessionStore仍然在IoC容器中。 有任何想法吗? 如何在startup.cs的ConfigureServices方法中从IoC中删除服务?