天道酬勤,学无止境

asp.net-core

ASP.NET Core and JQuery unobtrusive AJAX not working

问题 如果我在 .net 4.5 中开始一个新项目并点击管理 nuget 包,搜索 ajax,然后点击 install 让 ajax 不显眼。 然后我可以进入我的cshtml文件并输入@Ajax.___ 例如@Ajax.beginForm 如果我使用 Dot Net Core 创建一个新项目......我不能,而是它给了我一个无用的错误: “当前上下文中不存在名称‘Ajax’” 我在网上搜索过,什么都没找到... 基本上我想用 Ajax 调用制作一个表单,就像你在 .net 中所做的那样 如: " @using (Ajax.BeginForm("EmployeeMaster", "Home", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divEmp" })) { " 有谁知道我还能尝试什么? 在上面,我可以看到 Ajax 是来自 System.web.mvc.webviewpage 的 AjaxHelper 类型的对象......所以也许它永远不会适用于 .net 核心 回答1 虽然Ajax.BeginForm()方法不起作用,但实际不显眼的 Ajax html 可以。 C# 方法只是帮助生成 Html 表单标签。 请原谅我在这些语法中是错误的,这是记忆中的,但你明白了 @using (Ajax

2022-05-17 05:18:54    分类:技术分享    asp.net   ajax   asp.net-core   unobtrusive-ajax

Installed NuGet package, Visual Studio claims assembly not referenced

问题 你可以看到我已经通过nuget引用了它,但仍然在抱怨。 这是在嵌入式视图组件中的 .net 4.6.1 框架类库中。 我还在使用 .net 框架 asp.net 核心网络应用程序。 我在试图让剃须刀工作时遇到了很多问题,但这是一个新问题。 MenuViewPage 继承 RazorPage 并位于另一个程序集中。 我想我应该只安装 .net core 2 和 aspnetcore.all ;)\ 有人知道为什么会这样吗? 回答1 因此,经过数小时尝试解决此问题后,我找到了解决方案: 创建 Web 类库时,无论您是将其用于应用程序部分还是使用基类创建核心项目,我建议您将其从普通的 .net 类库转换为启用 Web 的类库。 要将其转换为 Web 类库,您需要将项目更改为使用以下 .csproj,然后确保运行 dotnet restore。 <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <OutputType>Library</OutputType> </PropertyGroup> <PropertyGroup> <TargetFramework

2022-05-17 03:46:03    分类:技术分享    asp.net-core   visual-studio-2017

Return Json on a bad request

问题 [HttpPost] public IActionResult Post([FromBody]Resolution value) { using (_ctx) { try { if (ValidateResolution(value.Size)) { _ctx.Resolution.Add(value); _ctx.SaveChanges(); return Ok(value); } return BadRequest("{ \"message\": \"hello\" }"); } catch (Exception) { return BadRequest(); } } } 回答1 您正在做的是将字符串传递给BadRequest() ,这会使您的 Action 返回内容类型为纯文本的响应。 如果您想返回一个响应类型为application/json的 JSON 对象,那么您应该将一个不是字符串的对象传递给BadRequest() 。 你甚至可以传递一个匿名对象来快速创建一个 JSON 对象,如下所示: return BadRequest(new { message = "bad request"}); PS:正确的 JSON 格式是{"field_name" : "field_value"} (如果它的类型是数字、布尔值、空值,则不需要引号)。 因此,从您所写的内容来看

2022-05-17 02:52:28    分类:技术分享    c#   asp.net-core   asp.net-core-webapi

Asp.Net Core with Docker - Duplicate 'Content' items were included

问题 当我想使用 docker 部署我的应用程序时遇到问题。 我正在将 ASP.Net Core 与 docker 一起使用。 这是一条错误消息: /usr/local/share/dotnet/sdk/1.0.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.DefaultItems.targets(188,5):错误:包含重复的“内容”项目。 默认情况下,.NET SDK 包含项目目录中的“内容”项。 您可以从项目文件中删除这些项目,或者如果您想将它们明确包含在项目文件中,则将“EnableDefaultContentItems”属性设置为“false”。 有关详细信息,请参阅 https://aka.ms/sdkimplicititems。 重复的项目是:'wwwroot/_version.txt' [/Users/xxxxxx/Projects/api-test/TestApi/TestApi.csproj] 这是我的 csproj <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp1.1.1</TargetFramework> <DockerComposeProjectPath>..\docker-compose

2022-05-17 01:05:11    分类:技术分享    c#   asp.net   .net   docker   asp.net-core

ASP.NET Core web app HTTP Error 502.5 Process Failure on Visual Studio 15.2

问题 如果您在 Visual Studio 15.2 中创建新的 ASP.NET Core 项目并将其发布到 Azure 应用服务,您的网站会显示“HTTP 错误 502.5 - 进程失败”。 如果您更新现有网站,则会发生同样的错误。 如果您尝试从 Kudu 调试控制台手动运行该网站,则会收到错误消息,即未安装 ASP.NET Core 1.1.2。 即使项目的 TargetFramework 为 netcoreapp1.1(与 1.1.2 无关),也会发生此错误。 一天前使用 Visual Studio 15.1 发布的完全相同的新项目或现有项目。 VS 的一些细微变化似乎破坏了成功发布的能力。 如何修复或解决此问题? 回答1 我的 csproj 文件属性TargetFramework包含值netcoreapp1.0 。 我已经用netcoreapp1.1.1改变了它,现在一切似乎都很好。 <PropertyGroup> <TargetFramework>netcoreapp1.1.1</TargetFramework> </PropertyGroup>

2022-05-16 22:31:03    分类:技术分享    azure   asp.net-core   visual-studio-2017

SetObjectAsJson and GetObjectFromJson not showing as part of HttpContext.Session in .NET Core 1.0

问题 我担心这是一个菜鸟错误,但我一直在寻找,我找不到与此相关的任何内容。 我有一个为 Intranet 应用程序构建的 .NET Core v1.0 Web 应用程序。 它已经通过用户测试并部署到生产中。 一位用户今天指出了一个小错误。 自部署以来,我已经在 VS2015 中迁移了 Workspaces,因此我下载了该项目。 在初始构建时,我收到 CS1061 错误,指出SetObjectAsJson不是ISession的一部分。 这是有问题的代码: public async Task<IActionResult> Index(DateTime? beginDate, DateTime? endDate, string currentLocation) { var userId = this.User.Identity.Name; var userEmail = userId.Remove(0, 11) + "@roystonllc.com"; var querystring = this.HttpContext.Request.QueryString.Value; var ex = _context.Engineer.Where(x => x.sEmail == userEmail); var engineer = await ex.FirstOrDefaultAsync()

2022-05-16 21:15:05    分类:技术分享    visual-studio-2015   asp.net-core   asp.net-core-mvc

Entity Framework Core ignoring .Include(..) without .ToList(..) indirectly

问题 正如 EF Core 文档中的“加载相关数据”中所述,我们可以使用.Include(..)从DbSet (或链接回 EF 上下文的通用IQueryable<T> )中急切地加载导航属性。 这意味着,给定以下模型: public class TestEntityA { public int Id { get; set; } public int TestEntityBId { get; set; } public TestEntityB TestEntityB { get; set; } public string BProperty { get { return TestEntityB.Property; } } } public class TestEntityB { public int Id { get; set; } public string Property { get; set; } } ..然后如下代码应该可以工作: context.TestEntityAs .Include(m => m.TestEntityB) .Any(m => m.BProperty == "Hello World"); /* * Note that the below DOES work by using the nav property directly * in the

2022-05-16 18:15:04    分类:技术分享    c#   entity-framework   asp.net-core   .net-core   entity-framework-core

The name 'model' does not exist in current context in ASP.NET Core

问题 我正在尝试使用 ASP.NET Core 开发一个带有插件的网站。 我有我的主要项目,asp.net Web 应用程序,它运行良好。 我有一个带有控制器的类库项目,它也可以正常工作,而我有问题的视图。 当我打开 *.cshtml 文件时,我可以看到 Razor 不起作用 - @using、@model 和其他指令无法识别并且智能感知不起作用。 当我将鼠标悬停在模型上时,我收到了标题错误: ASP.NET Core 的当前上下文中不存在名称“模型” 我使用 EmbeddedFileProvider 来发现视图,它们被标记为嵌入式资源。 当我运行应用程序时,一切正常 - 视图正确呈现。 我唯一的问题是 Visual Studio 中的误报错误。 我用谷歌搜索了类似的问题,但主要针对 ASP.NET MVC,而不是 Core - 就像这里一样。 我认为类库配置中缺少一些东西,但我不确定到底是什么。 回答1 新的 csproj 文件在顶级“Project”元素中具有“Sdk”属性。 当您创建一个新的 Web 应用程序时,它被设置为“Web”SDK: <Project Sdk="Microsoft.NET.Sdk.Web">...</Project> 添加/创建类库时,它默认为标准的非 Web SDK: <Project Sdk="Microsoft.NET.Sdk">...<

2022-05-16 17:54:04    分类:技术分享    razor   asp.net-core   visual-studio-2017

Is appsettings.json protected by IIS?

问题 回答1 文件通常来自“wwwroot”文件夹。 只要您尚未将C:\inetpub\websites\contoso.com\配置为应用的 Web 根目录,appsettings.json 文件就是安全的。 默认情况下,静态文件位于C:\inetpub\websites\contoso.com\wwwroot\中。 我推荐这个优秀的文档:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files 顺便说一句,除非另有配置,否则 IIS 甚至不会检查文件系统。 实际上是 ASP.NET Core 将确保仅从“wwwroot”文件夹提供文件。 IIS 中的典型 ASP.NET Core网站实际上是作为单独的 Web 服务器运行的,IIS 通过 ASP.NET Core 模块将其反向代理。 这意味着所有请求都由 ASP.NET Core 处理。 要提供静态文件,您必须使用 Microsoft.AspNetCore.StaticFiles 包中提供的静态文件中间件。

2022-05-16 16:35:04    分类:技术分享    iis   asp.net-core   configurationmanager

Persistent session in ASP.Net core

问题 是否可以使会话在 ASP.Net Core 中持久化? 到目前为止,我只能找到有关连接到 ASP.Net 身份(我没有使用)的 cookie 过期的信息,或者会话空闲超时(用户关闭浏览器后不会持续存在)的信息。 我在哪里可以找到使会话持久化的选项? 回答1

2022-05-16 16:20:18    分类:技术分享    asp.net-core