Tag: asp.net core

Asp Net Core Web推送通知

主要目标是增加站点发送Web通知的能力,以弹出系统通知,以使用Html5 Push API和服务工作人员提醒用户。 不使用SignalR,它只能在打开站点时运行客户端脚本。 如果站点关闭,也应该能够发送通知,如此处所述 – 这是可能的。 这是关于Push API的好文章并提供了很好的示例但是它使用NodeJS作为服务器和web-push组件来向通知服务发送请求。 找不到任何.NET示例。 我想到了两个解决方法。 首先,是基于关于服务器的Push API文章说明从头开始编写所有内容: 当您发送没有数据的推送消息时,只需使用HTTP POST请求将其发送到端点URL。 但是,当推送消息包含数据时,您需要对其进行加密,这是一个非常复杂的过程。 其次,是使用AspNetCore.NodeServices(关于它的文章 )来执行node.js脚本文件 还有更多解决方案吗? 也许存在现成的解决方案? 经过学科研究 3例: HTTP +旧浏览器+ IE所有版本 – 使用信号R +使用html + js渲染通知 HTTP +现代浏览器(Chrome,Firefox,Safary,Opera?,Edge),支持Notification API。 – 使用SignalR并使用new Notification(‘Message’)使用js触发本机浏览器通知 HTTPS + Chrome(移动版),支持Push API,可使用服务工作者触发已关闭网站的本机通知。 移动版Chrome只能使用service-worker创建通知。 它变得复杂了。 怎么了? 可能的解决方案: 对于1和2个案例找到了此存储库。 认为这是一个很好的前端解决方案,具有良好的后备支持。 对于3个案例仍然不知道该怎么办。 当前解决方案 补充:2017-11-22 没有脱机客户端通知支持 没有移动支持 对于Chrome v62 +将所有项目移至https – […]

如何在C#中使用XSLT将XML转换为HTML?

如何在ASP.NET Core中使用XSLT将XML转换为HTML? 我想过: public static string TransformXMLToHTML(string inputXml, string xsltString) { XslCompiledTransform transform = new XslCompiledTransform(); using(XmlReader reader = XmlReader.Create(new StringReader(xsltString))) { transform.Load(reader); } StringWriter results = new StringWriter(); using(XmlReader reader = XmlReader.Create(new StringReader(inputXml))) { transform.Transform(reader, null, results); } return results.ToString(); } 但.NET Core中不存在XmlReader。 你有什么主意吗?

找不到方法app.UseStaticFiles()

我正在按照本指南进行操作 ,在第4步中,我被要求在project.json文件中添加三行(我做了然后运行dotnet restore获取了大量更新的包)。 当我在Configure方法中输入三行时,我会在所有这些行中得到红线。 这些方法无法识别,无智能感知等。 我还注意到,在指南的示例中,方法签名只接受IApplicationBuilder的一个参数,而我生成的(使用yo aspnet命令)看起来像这样。 Configure(IApplicationBuilder, IHostingEnvironment, ILoggerFactory); 我不知道如何解决它。 我的猜测是在这个过程中有一个新版本的东西(Yo,Generators,Core等),但我不完全确定。 我也发现这个博客的方法签名类似于我得到的那个。 但是,它的作者建议使用与我无关的相同语法。 我猜这是引用错误库的问题。 我该如何解决这个问题?

如何在ASP.NET Core中设置强类型配置?

本文和另一篇文章展示了如何将您的appsettings映射到ASP.NET 5中的类。 从第一个链接: public void ConfigureServices(IServiceCollection services) { services.Configure(Configuration.GetConfigurationSection(“AppSettings”)); services.AddMvc(); } 但是,我没有在services上获得Configure()方法。 所以要么我错过了一个包,要么API已经改变了。 这是什么? 我正在使用RC1。 我相信这些文章都基于beta 4。

在哪里可以找到ASP.NET Core MVC中的模型绑定错误?

在对对象执行模型绑定时,如果任何对象的属性存在类型不匹配,则框架似乎将返回null。 例如,考虑这个简单的例子: public class Client { public string Name { get; set; } public int Age { get; set; } public DateTime RegistrationDate { get; set; } } public class ClientController : Controller { [HttpPatch] public IActionResult Patch([FromBody]Client client) { return Ok(“Success!”); } } 如果我在HTTP请求中为Age属性提交值“asdf”,则无论为其他属性提交了什么,整个客户端参数在Patch方法中都将为null。 RegistrationDate属性也是一样。 因此,当您的控制器操作中的FromBody参数为null时,您如何知道哪些错误导致模型绑定失败(在这种情况下,哪个提交的属性具有错误的类型)?

调用AddAuthorization是不明确的

有一些简单的政策一直在努力,直到今天,我很确定我没有做任何事情来打破它们。 在Startup.cs中,在ConfigureServices中,这是抛出错误的代码: services.AddAuthorization(options => { options.AddPolicy(“AboveUser”, policy => policy.RequireRole(“Admin”, “Manager”)); options.AddPolicy(“IsAdmin”, policy => policy.RequireRole(“Admin”)); options.AddPolicy(“IsManager”, policy => policy.RequireRole(“Manager”)); }); 它给了我AddAuthorization函数的这个错误: 以下方法或属性之间的调用不明确:’Microsoft.Extensions.DependencyInjection.AuthorizationServiceCollectionExtensions.AddAuthorization(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action)’和’Microsoft.Extensions.DependencyInjection.AuthorizationServiceCollectionExtensions.AddAuthorization(Microsoft.Extensions) .DependencyInjection.IServiceCollection,System.Action)’ 我记不起最近对我的project.json或类似的东西进行了更改,但如果有帮助我会在这里引用它: { “dependencies”: { “Microsoft.AspNetCore.Razor.Tools”: { “version”: “1.0.0-preview2-final”, “type”: “build” }, “Microsoft.EntityFrameworkCore.Tools”: { “version”: “1.0.0-preview2-final”, “type”: “build” }, “Microsoft.VisualStudio.Web.CodeGeneration.Tools”: { “version”: “1.0.0-preview2-final”, “type”: “build” }, “Microsoft.VisualStudio.Web.CodeGenerators.Mvc”: { “version”: “1.0.0-preview2-final”, “type”: “build” }, “BundlerMinifier.Core”: […]

将HTML 5 DatePicker与日期输入字段一起使用

我想了解有关HTML5日期的更多信息。 我已将以下代码添加到MVC Core 2.1视图中: @{ var minDate = DateTime.Now.AddYears(-99).Date; var maxDate = DateTime.Now.AddYears(-18).Date; var defaultDate = DateTime.Now.AddYears(-25).Date; } 呈现的HTML如下所示: 我有几个问题: 1)日期的默认值不显示,即:dd / mm / yy。 如果我将我的MVC代码更改为此,那么它确实有效: 为什么不专门接受默认值的变量? 2)在MVC视图中将类更改为:datefield(from:form-control)是否有任何影响。 3)是否可以为日历指定默认日期,而输入字段中是否显示该值?

控制器错误“Microsoft.AspNetCore.Mvc.Rendering.SelectListItem”中的MVC Core SelectList下拉列表

我想在MVC中创建一个SelectList下拉列表。 我更喜欢选择列表在存储库中,而不是在控制器中。 如何调用存储库,甚至不引用模型中字段的名称。 我想要引用的只是存储库。 我收到此错误“Microsoft.AspNetCore.Mvc.Rendering.SelectListItem”这个资源还没有帮助: 为什么我在DropDownList中获得“System.Web.Mvc.SelectListItem”? 我正在网上阅读很多例子,这是原始代码, 原始代码: ViewData[“ProductTypeId”] = new SelectList(_context.ProductType, “ProductName”, “ProductDescription”); 我试图让代码像这样工作: 收到错误:“Microsoft.AspNetCore.Mvc.Rendering.SelectListItem” ViewData[“ProductTypeId”] = new SelectList(_producttyperepository.GetAllLookupKey()); public IEnumerable GetAllLookupKey() { return (from ptin _context.ProductType pt select new SelectListItem { Value = pt.ProductTypeName, Text = pt.ProductDescription }); }

将DatePicker与.NET一起使用

我使用.NET Core创建了一个非常简单的DatePicker。 这是我的模型: public class MemberViewModel { public string Name { get; set; } [DisplayFormat(DataFormatString = @”{0:dd\/MM\/yyyy}”, ApplyFormatInEditMode = true)] public DateTime DOB { get; set; } } 这是我的观点: @model DatePicker.Models.MemberViewModel @{ ViewData[“Title”] = “MemberView”; } MemberView MemberViewModel @Html.TextBox(“datepicker”) @* *@ Back to List @section Scripts { @{await Html.RenderPartialAsync(“_ValidationScriptsPartial”);} } 这是我的布局: jQuery UI Datepicker – […]

属性“x”不是实体类型“y”的导航属性

我正在使用EF Core和ASP Core 2.0。 使用最新的Identity框架。 我在页面All上得到了这个例外。 InvalidOperationException:属性“User”不是实体类型“Gallery”的导航属性。 ‘Include(string)’方法只能与”一起使用。 分隔的导航属性名称列表。 ApplicationUser看起来像: public class ApplicationUser : IdentityUser { public ICollection Galleries { get; set; } } 实体库看起来像: public class Gallery { public int Id { get; set; } public Guid UserId { get; set; } public string Title { get; set; } public int? ArticleId { get; […]