问题标签 [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 投票
0 回答
453 浏览

ef-core-2.1 - abp.io 项目模板中的多个 DbContext

Host 项目中似乎有一个单独的 DbContext,而 abp.io 项目模板中的 EntityFrameworkCore 项目中似乎有一个 DbContext(在撰写本文时)。我想知道这些 DbContexts 的预期目的是什么?如果我想使用单个数据库创建一个单体应用程序,我应该使用哪个 DbContext?

0 投票
1 回答
118 浏览

c# - 扩展组织单元后没有结果

我扩展了 abp 实体(OrganizationUnit),但之后我没有从“GetAllListAsync()”得到任何结果。

我的(新)扩展类:

我还在“DbContext”中添加了这一行

DbMigration 脚本:

然后,当我尝试获取 OrganizationUnits 时:Count=0!

ABP 版本:3.9.0

在此更改之前,我曾经获得 20 件物品。

0 投票
3 回答
1066 浏览

c# - .Net Core 2.x 用户会话意外退出共享主机

我正在玩aspnetboilerplate.com 的dotnet core 模板。我想要做的是将模板部署在运行 Plesk 的共享主机(Windows)服务器上(注意,我根本无法控制服务器)。

该模板在本地完美运行,可以登录、添加用户、角色等。将其部署到共享托管服务器出现了一些问题,但相对较快地解决了(为 dotnet core 配置并且必须降到 dotnet core 2.1,因为 2.2 不是但在服务器上支持)。

现在的问题是登录后,我在一分钟内重新定向到登录页面。我在使用 ASP.NET MVC5 时遇到过类似的问题,但在 web.config 中提供了一个机器密钥并使用数据库存储会话数据可以解决该问题。所以我推断它与 dotnet 应用程序有同样的问题。

但是看到 dotnet 核心不使用机器密钥并且 DataProtectionApis 需要一种不同的方法。

所以我尝试添加services.AddDataProtection();StartUp.Configure()

我已经阅读了 ASP.NET Core 中的分布式缓存以及几乎所有链接以及尝试了多个代码示例,但要么我不知道我在做什么(很有可能),要么我没有做正确的事情。

那么,如何防止用户在共享托管服务器上使用 dotnet core 2.1 意外退出?

编辑 - 2019-01-25

一些新信息:尝试按照建议设置超时,但这要么什么都不做,要么不可能。为了让 dotnet 应用程序在 Plesk 上运行,我必须禁用 ASP.NET 支持,以便 .NET 核心获得无托管代码应用程序池。尝试访问 Plesk 上的 ASP.Net 设置(您可以访问应用程序池设置等)会出现错误,提示“此网站的 ASP.NET 支持已关闭”。

不会发生的一件事是发布时永远不会创建 App_Data/Logs 文件夹。我必须手动创建和设置权限,以便 log4net 可以创建日志文件。日志文件为我提供了更多信息:

仅再次搜索此错误将我引导到有关添加services.AddDataProtection()到 ConfigureServices 方法的文档,但是这个关于 Azure Key Vaults(或其他外部提供程序)或将信息写入共享 UNC 以便其他服务器可以访问缓存的密钥信息(和这可能是我需要的)。但是由于我无法使用所有这些选项,因此我找到了一种扩展方法,该方法允许将密钥存储在 MSSQL 服务器上。现在正忙于设置它以进行测试。

如果有人想发表意见,请成为我的客人。

更新 2 - 2019-01-25 - 成功(暂时)

看来使用 DataProtectionAPI 是要走的路。日志还没有报告任何AntiforgeryValidationException。我将让它运行一段时间,如果一切顺利,我将发布解决方案以及它是如何实施的。

0 投票
0 回答
158 浏览

aspnetboilerplate - 身份验证错误“需要 UserNameOrEmailAddress 字段”

最近几天我一直在忙着在 ABP 做一个项目,昨天我花了一整天的时间在它上面工作,当我回家时一切都在运行。今天我启动了项目(从另一个位置),现在登录时出现这个弹出窗口错误:

UserNameOrEmailAddress 字段是必需的。

我检查了控制台,它给出了 2 个错误:

POST http://localhost:21021/api/TokenAuth/Authenticate 400(错误请求)

和:

ERROR 错误:发生意外的服务器错误。在 MergeMapSubscriber.project (service-proxies.ts:1618) 在 MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal 的新 SwaggerException (service-proxies.ts:4308) /operators/mergeMap.js.MergeMapSubscriber._tryNext (mergeMap.js:60) 在 MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._next (mergeMap.js:50) 在 MergeMapSubscriber .push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (Subscriber.js:54) 在 Observable._subscribe (service-proxies.ts:4334) 在 Observable.push../node_modules/rxjs /_esm5/internal/Observable.js.Observable._trySubscribe (Observable.js:42) 在 Observable.push../node_modules/rxjs/_esm5/internal/Observable.js。

我正在使用正确的凭据登录,如果我在 Swagger UI 上使用相同的凭据运行身份验证方法,我会收到200 OK响应。也许这与我在不同的位置运行程序有关?

0 投票
0 回答
1480 浏览

asp.net - ASP.NET 样板身份服务器 API 访问令牌

我已经在 ASP.Net Boilerplate 中成功启用了 Identity Server,并使用 JS 客户端调用它,如 Identity Server 文档http://docs.identityserver.io/en/latest/quickstarts/6_javascript_client.html所述。登录并获取访问令牌后,我无法使用此访问令牌访问 API,因为我得到 401。

我无法完成 Identity Server 示例所示的最后一步。因为我的项目在启动时抛出一个错误,说 Identityserver 已经注册。我假设没有这一步我的令牌不会正确生成。但是还没有弄清楚我应该如何配置 ABP 来做同样的事情。

任何帮助表示赞赏:)

我得到的确切错误是 401 (Unauthorized)。如果我将令牌交换为通过 /api/TokenAuth/Authenticate 生成的令牌,则调用有效。

The Token generated through Identity server is "eyJhbGciOiJSUzI1NiIsImtpZCI6IjNhODAzNTUzNzNlNDVhMzRmNTI3MzJmM2ZjZWNjZTQ4IiwidHlwIjoiSldUIn0.eyJuYmYiOjE1NTExNTgyMjYsImV4cCI6MTU1MTE2MTgyNiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo2MjExNCIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6NjIxMTQvcmVzb3VyY2VzIiwiY2xpZW50X2lkIjoianMiLCJzdWIiOiIxIiwiYXV0aF90aW1lIjoxNTUxMTU3MTcwLCJpZHAiOiJsb2NhbCIsInNjb3BlIjpbIm9wZW5pZCIsInByb2ZpbGUiXSwiYW1yIjpbInB3ZCJdfQ.LBJ5KfiOGjMSWlpsWbXLuGBnd0RHq07IWM7npYGPOBm38ENeZkzLErgwalTFH7acOOa8rHymfTFRBVQgO1sEy-nnxn-iPmjstKABu2Xe1o-qlsrU7K7mxN1FLKJWksWBty983TZ-WLrK9pXEHjN9LGeBFY-Qx_RPFOVu4gattjgNI05-J3a2dsnON_bJfvsXPL2ktUa_od-uqi9AXnWY_kJA-5xh1rjMP6pf740tMQJjhMGAIitQHbWiCfmvvPjX6bzBnMXFJpmiVT_hZsZ76zoQskLRQz8Zn-IfVhU9VM-8U7B6PKUaVFs4-VA2ia9VVwxuSs1gJoC9RwMqKYmX_g"

我的客户正在使用这些属性进行注册。

0 投票
1 回答
83 浏览

c# - EntityHistory 引用其他实体的自有类型失败

这是我的模型:

当我尝试创建新投资并保存到数据库时,ABP 尝试确定是否应将实体更改存储在历史表中,但在尝试识别拥有实体(地址)的所有者(投资)时崩溃。这是因为 ABP 总是采用第一个外键(假设它与所有者实体的关系),但在我的情况下,第一个外键是与其他实体的关系,因此没有“PrincipalToDependent”值并且保存操作被终止:

在此处输入图像描述 在此处输入图像描述

是否有任何解决方法,或者我们不能将引用存储在拥有的实体类型中?

0 投票
1 回答
285 浏览

c# - ASP 样板 - ITransient 如何工作

据我了解,在 abp 中,当一个类实现 ITransient 接口时,它会自动注册到依赖注入系统中。

当我在 ASPNetZero 中创建一个新项目并且一个类实现了 ITransient 时,我无法在其他项目中注入该类,例如 Application

使用以下代码段不允许我使用构造函数注入。

但是当我注册它时(即使该类没有实现 ITransient),那么我可以使用构造函数注入。

我是否错误地理解了 ITransient 的工作原理?如何使用 Itransient 以便可以使用构造函数依赖注入?

注意:我尝试注入 Application 项目的类位于我创建的另一个项目中。

0 投票
1 回答
327 浏览

c# - 石英作业未开始

我正在尝试使用 Abp.Quartz 来安排作业。

使用 net core 2.2、abp 4.5

我在 https://aspnetboilerplate.com/Pages/Documents/Quartz-Integration的文档中做了所有事情,只在 PostInitialize 方法中解决了它。

最后,我尝试了与文档中完全相同的方法(从控制器启动调度程序)。

但它也没有奏效。作业未开始。

这是类 ApiRequestProcessor

0 投票
2 回答
145 浏览

abp - 在 ABP vnext 框架中使用 MySql

我想将 MySQL 与 ABP vnext 一起使用。我花了很多时间寻找解决方案,但我什么也没找到。我阅读了文档并用谷歌搜索了这个问题,但没有找到任何解决方案。

0 投票
0 回答
212 浏览

c# - Abp 的通知系统没有运行。这是什么问题?

通知系统用于向特定用户发送一些消息。但全局事件在 js 文件中不可用。

js中的代码

应用程序中的代码

  1. 通知数据 1
  2. 通知数据 2

我在数据库中找到了通知数据,但是在 js 文件中没有触发事件。没有异常抛出。感谢您的任何帮助。