问题标签 [abp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
77 浏览

.net-core - EF - 有条件地允许保存属性值(具有支持字段)

我有一个User实体和一个EmailRecipient具有一对一关系的实体。电子邮件收件人也可以在没有相关用户实体的情况下创建。

如果附加/包含,我的实体从EmailRecipient实体获取Name,Surname和。我已设置属性以在返回用户属性之前返回支持字段值(如果它不为空),因此我可以根据需要指定替代名称。EmailAddressUser

保存 时EmailRecipient,EF 会查看和属性Name,并使用实体中的值填充表,而不是使用支持字段值。如果我没有明确设置值,我希望这些字段在数据库中保持为 NULL,即SurnameEmailAddressEmailRecipientUserrecipient.Name = "new name";

我的问题:如何使 EF 根据支持字段值而不是属性值填充选定的数据库字段?还是有完全不同的方法来解决这个问题?

电子邮件收件人实体:

0 投票
1 回答
139 浏览

angular - 空主干字符导致连接关闭和 Chrome 在浏览器中记录 CORS 错误

我们的前端是 Angular,后端是 .Net Core 2.2。从前端调用到后端时,我遇到了间歇性 CORS 错误(或可能是其他问题)。

当我们在 Chrome 中调用后端 API 时,Chrome 有时会在控制台中抛出错误“...已被 CORS 策略阻止:请求的资源上不存在 'Access-Control-Allow-Origin' 标头。”,导致 webpag 无法加载. 发生错误时,没有响应内容,也没有响应头。当我禁用缓存(使用标头或 chrome 的 devtool)并禁用 CORS(使用 Chrome 扩展程序)时,可能会发生此问题。

我猜浏览器无法解析响应正文,所以我使用 fiddler 来跟踪响应:

最初我只得到 Empty Trunk "30 0D 0A 0D 0A" 并且 Fiddler 收到 500 错误。同时,Chrome 抛出 CROS 错误,网页无法加载。

响应大小为 0

初始错误标头 - 关闭连接

非法空箱体 30 0D 0A 0D 0A

如果我等待 30 秒到 1 分钟,Fiddler 记录从 500(失败)变为 200(成功):

分块传输编码

好的标题

良好的样品身体

这让我觉得这可能是分块传输编码的问题(如第三张图所示),所以我尝试通过为响应标头分配 ContentLength 来禁用分块编码。但问题仍然存在。

对这个错误有点绝望。任何见解/建议将不胜感激!

0 投票
1 回答
1679 浏览

c# - 如何在 ABP 服务中获取 DbContext?

如何DbContext在应用层获取实例?

我试过:

1.

2.

我不擅长 ABP。我在哪里以及如何获取DbContext实例并注入它?

0 投票
1 回答
471 浏览

asp.net-core - 刷新页面时连接握手失败和 500 错误 - 使用 Angular 和 .Net Core 的 Abp 为零

当我登录应用程序时,角度将 ulr 更改为https://baseurl/app/home并且主页正确呈现。如果我刷新页面,我会收到服务器 (500) 错误。如果我删除地址栏中的 /app/home 部分并刷新,页面会重新加载而不会出现问题。

在服务器端的日志中,我发现: 失败:Microsoft.AspNetCore.SignalR.HubConnectionContext[5] 连接握手失败。

我在两个不同的服务器上运行 Angular 客户端和 .net 核心应用程序,并且 CORS 设置正确,客户端应用程序能够连接到 api。该应用程序运行良好,除非我刷新带有角度路线的页面。

当我在我的开发机器上本地运行应用程序时,不会出现此问题。

我没有更改原始 Abp 零模板中的任何路由或信号器相关代码。

在服务器上:

  • .NetCore 2.2

  • Abp 零 v 4.8

    services.AddSignalR() 在 startup.cs 文件中被调用并且

    app.UseSignalR(routes => { routes.MapHub("/signalr"); });

也从 Configuration 方法在 startup.cs 文件中调用。所有这些都是标准的模板代码。

在 Angular 客户端中:

  • @aspnet/signalr v 1.1.4

在 app.component.ts 文件的 OnInit 中调用 initSignalR() 的未更改 SignalRAspNetCoreHelper:

app-routing.module.ts 也没有改变:

root-routing.module.ts(也未更改):

关于什么是错的任何想法?由于我没有更改任何内容,我想知道问题是否与环境/配置有关?

0 投票
2 回答
6445 浏览

aspnetboilerplate - 哪个是真正的 ASP.NET Boilerplate 项目?

对许多人来说可能是一个愚蠢的问题,但我们正在考虑为我们的下一个项目采用 ASP.NET 样板。有点困惑,因为它似乎有 2 个不同的网站和 2 个不同的 Git 存储库。

第一个是 https://aspnetboilerplate.com/
,第二个是 https://abp.io/

两者都有自己的 Git 存储库和 Stack Overflow 标签。我完全不知道哪个是最正确的项目。

非常感谢任何指导。

非常感谢。

0 投票
0 回答
253 浏览

asp.net-core - System.NotSupportedException:不明确的 HTTP 操作方法

我下载了一个 abp .net core2.x 角度解决方案并尝试使用 Devexpress 报告控件实现报告。所以我在项目中添加了相应的包。在运行项目时显示内部服务器错误,我检查了日志并发现 System.NotSupportedException: Ambiguous HTTP method for action - DevExpress.AspNetCore.Reporting.QueryBuilder.QueryBuilderController.Invoke (DevExpress.AspNetCore.Reporting.v19.1) . 操作需要 Swagger 2.0 的显式 HttpMethod 绑定

我试图修改 DocInclusionPredicate。但它不会解决问题。我试图修改如下,

要重现此问题,请将 DevExpress.AspNetCore.Reporting 包添加到 Web.Host 项目并运行它。

谁能帮我解决这个问题?

0 投票
1 回答
3451 浏览

asp.net-core - Abp.io 异常:激活 Castle.Proxies.ProcessesServiceProxy 时引发异常

我还是Abp.io的新手,我得到了以下异常。我按照 Abp.io 文档中的说明进行操作。请你帮助我知道我错过了什么。

UseAutofac我也已经打电话了

0 投票
1 回答
2555 浏览

c# - 部署时的 Azure DevOps 管道问题

我是 Azure 的新手,我确信在 Azure 中配置管道和部署我的解决方案很容易......但我被困了 2 天,我没有找到最新的文章解释了完整的 CI/CD。

这是我的解决方案(基于 ABP 样板):

我有一个 Azure 帐户,并创建了两个应用服务:

对于这两种设置都是默认设置:

  • WEBSITE_RUN_FROM_PACKAGE '1'
  • WEBSITE_ENABLE_SYNC_UPDATE_SITE '真'

在 Azure DevOps 中,一切都是绿色的......

2条管道:

  • 角度:
  • 接口:

对于发布部分:

它在 wwwroot 中创建了一个子文件夹 UIApp 但我不明白为什么

  • API

我尝试了 Azure Web App Deploy 和 Azure App Service Deploy。

我尝试使用 deploy Zip / Run from package / deploy Web ...但没有成功。

在 API 中,我看到它已创建:

在 /data/sitePackages/ 中包含日期时间的 zip 文件

在 /site/wwwroot/ 中也有 zip 文件,但名称不同(wwwroot 是只读的)

yaml:

我不明白我错过了什么,使用完整的 azure 堆栈应该很容易......我应该在某个地方错过一个细节(或者我可能错过了一张大图和关于 Yaml 的培训)

我想阻止在 wwwroot 中为前端创建子文件夹 UiApp。

后端根本无法使用该软件包,我不知道如何修复或调试该问题。顺便说一句,我不需要从包中运行。我更喜欢 IIS 的“经典”方式

0 投票
1 回答
118 浏览

c# - 两个客户端之间的数据同步(验证)

我有一个基于 ASP.NET 样板(Angular 前端和 MSSQL 数据库)的网上商店。
网上商店包含物品,我想保留这些物品的库存。每次创建订单时,都会更新库存。所以基本上我有一个包含网上商店、商品和订单的数据库。
我有这些对象的存储库和管理器。

一切正常,但是当两个客户端同时加载网上商店时会出现问题。

Client1 打开网页:

  • 网店1
    • 第 1 项:“10 项可用”
    • 第 2 项:“8 项可用”

Client2同时打开网页:

  • 网店1
    • 第 1 项:“10 项可用”
    • 第 2 项:“8 项可用”

购买所有可用物品的第一个应该能够创建订单,第二个应该得到错误。

创建订单后,后端会检查是否有足够的可用商品。但是,当在创建第一个客户端的订单之前加载网上商店时,第二个客户端不知道更新的库存,并且也能够创建订单。
这意味着可以出售 20 件 Item1!

如何在后端的两个会话之间“同步”数据?加载网上商店时,数据似乎以某种方式缓存在后端。

创建订单函数

ReserveStock函数

0 投票
0 回答
121 浏览

abp - 如何在 _ViewStart ABP 框架 abp.io 中更改 _Layout

我通过从https://abp.io/get-started直接下载创建了一个新项目,并且项目中没有 _Layout 页面。_Layout 页面继承自框架 dll。

我创建了一个 _Layout 页面,但 _ViewStart 页面不起作用。在下面的代码示例中,指定了链接 href 为“/Account/Login”,但项目中没有 Account 或 Login 页面。所有这些都来自 Volo.Abp.Account

  1. 如何在 ABP v1.0 中创建自定义 _Layout 页面
  2. 如何运行 _ViewStart 页面
  3. 如何创建登录页面或其他 UI 内容

谢谢