问题标签 [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.
ef-core-2.1 - abp.io 项目模板中的多个 DbContext
Host 项目中似乎有一个单独的 DbContext,而 abp.io 项目模板中的 EntityFrameworkCore 项目中似乎有一个 DbContext(在撰写本文时)。我想知道这些 DbContexts 的预期目的是什么?如果我想使用单个数据库创建一个单体应用程序,我应该使用哪个 DbContext?
c# - 扩展组织单元后没有结果
我扩展了 abp 实体(OrganizationUnit),但之后我没有从“GetAllListAsync()”得到任何结果。
我的(新)扩展类:
我还在“DbContext”中添加了这一行
DbMigration 脚本:
然后,当我尝试获取 OrganizationUnits 时:Count=0!
ABP 版本:3.9.0
在此更改之前,我曾经获得 20 件物品。
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
。我将让它运行一段时间,如果一切顺利,我将发布解决方案以及它是如何实施的。
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响应。也许这与我在不同的位置运行程序有关?
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"
我的客户正在使用这些属性进行注册。
c# - ASP 样板 - ITransient 如何工作
据我了解,在 abp 中,当一个类实现 ITransient 接口时,它会自动注册到依赖注入系统中。
当我在 ASPNetZero 中创建一个新项目并且一个类实现了 ITransient 时,我无法在其他项目中注入该类,例如 Application
使用以下代码段不允许我使用构造函数注入。
但是当我注册它时(即使该类没有实现 ITransient),那么我可以使用构造函数注入。
我是否错误地理解了 ITransient 的工作原理?如何使用 Itransient 以便可以使用构造函数依赖注入?
注意:我尝试注入 Application 项目的类位于我创建的另一个项目中。
c# - 石英作业未开始
我正在尝试使用 Abp.Quartz 来安排作业。
使用 net core 2.2、abp 4.5
我在 https://aspnetboilerplate.com/Pages/Documents/Quartz-Integration的文档中做了所有事情,只在 PostInitialize 方法中解决了它。
最后,我尝试了与文档中完全相同的方法(从控制器启动调度程序)。
但它也没有奏效。作业未开始。
这是类 ApiRequestProcessor
abp - 在 ABP vnext 框架中使用 MySql
我想将 MySQL 与 ABP vnext 一起使用。我花了很多时间寻找解决方案,但我什么也没找到。我阅读了文档并用谷歌搜索了这个问题,但没有找到任何解决方案。