我试图找出哪个最佳存储ASP.NET核心应用程序的应用程序生产机密.有两个类似的问题 我应该在哪里存储我的asp.net-5应用程序的生产环境的连接字符串? 以及 如何将ASP.NET Core UserSecrets部署到生产中 ,它们都建议使用环境变量.
我的问题是我想运行具有不同数据库和不同数据库凭据的Web应用程序的多个实例.所以应该有一些包含秘密的每个实例配置.
如何以安全的方式实现这一目标?
请注意,应用程序应该能够自我托管并在IIS下托管!(稍后我们还计划在Linux上运行它,如果这对问题有任何重要性)
更新
这个问题不是试图在生产中使用ASP.NET用户机密!UserSecrets被排除用于生产.
我正在试验Polymer 2.x,我不理解的是如何在Polymer 2.x中使用Polymers自己的行为,iron-resizable-behavior作为一个例子.
Polymer 2.0升级指南告诉我们,对于我们自己的组件,我们应该使用类表达式mixin.这很好,但聚合物自身行为呢?他们是否正在被重写为mixins,还是会保持不变?有一种Polymer.mixinBehaviors方法似乎允许我使用Polymer 1.x mixins.这是最终解决方案还是中间步骤?
换句话说:聚合物行为是否被认为是聚合物2.x虽然我们被告知使用mixins作为我们自己的组件?
资料来源:
https://www.polymer-project.org/2.0/docs/upgrade#upgrading-to-class-based-elements
我想在中央服务器上为多个客户创建一个带有EF Core的ASP.NET Core Web应用程序.每个客户都应该拥有自己的数据库,通过从属于客户的测量设备读取数据来填充.
我找到了建议创建多个数据库上下文的解决方案.这个问题是它不可扩展.我事先并不知道客户/数据库的数量.可能是10,可能是100.
另一种解决方案可能是在IIS中创建单独的应用程序(为简单起见,我们只讨论Windows和IIS).每个应用程序都有自己的路径和自己的appsettings.json,它指定数据库连接字符串.这样做的问题是需要大量磁盘空间来复制(自包含)应用程序和大量维护工作.
问题:
1)有没有办法在appsettings.json中给定多个连接字符串动态创建数据库上下文列表?
2)有没有办法在IIS中只保留一个物理安装,但有多个站点,每个站点都使用不同的appsettings.json启动应用程序,或者可能是一个启动参数,告诉应用程序从appsettings.json使用哪个连接字符串?
3)有没有一种完全不同的更好的方法来实现它?
我试图在逗号是小数分隔符的德国语言环境中一起使用 boost::locale 和 std::stod 。考虑这个代码:
boost::locale::generator gen;
std::locale loc(""); // (1)
//std::locale loc = gen(""); // (2)
std::locale::global(loc);
std::cout.imbue(loc);
std::string s = "1,1"; //float string in german locale!
double d1 = std::stod(s);
std::cout << "d1: " << d1 << std::endl;
double d2 = 2.2;
std::cout << "d2: " << d2 << std::endl;
Run Code Online (Sandbox Code Playgroud)
std::locale loc("") 创建正确的语言环境,输出为
d1: 1,1
d2: 2,2
Run Code Online (Sandbox Code Playgroud)
正如我所料。当我注释掉第 (1) 行和取消注释第 (2) 行时,输出是
d1: 1
d2: 2.2
Run Code Online (Sandbox Code Playgroud)
d2 的结果在意料之中。据我了解 boost::locale 希望我明确指定 d2 应该被格式化为一个数字并做
std::cout << "d2: " << boost::locale::as::number …Run Code Online (Sandbox Code Playgroud) MVC6/WebApi中的模板WebApi控制器实现了一个返回Get方法集合的操作,如下所示:
[HttpGet]
public IEnumerable<MyEntity> Get()
{
//my code to return entities
}
Run Code Online (Sandbox Code Playgroud)
假设我的代码返回结果会引发异常,我将如何向消费者返回错误消息?
据我所知,异常会导致HTTP 500.这很好,但我想给调用者一个消息,告诉他出了什么问题.由于模板操作的签名,我无法捕获异常并返回一些Http***或ObjectResult实例.
我刚刚安装了pgadmin 4.9,正在尝试编辑现有数据库中的几个字段。我右键单击表,选择“查看/编辑数据”->“所有行”。然后在我的表中,更改“文本”类型字段中的数据。然后,当我按下“保存”按钮时,
'int' object has no attribute 'replace'
Run Code Online (Sandbox Code Playgroud)
通过“更新”脚本更改字段的效果很好。
其他人有没有经历过?
这是在Windows 10上,而pgadmin在MS Edge中运行。
我想构建一个基于 ASP.NET Core 的 WebApi 用于从数据库访问数据。该 WebApi 可以通过两种方式使用,要么作为需要身份验证的公共 WebApi,要么作为 Web 应用程序的私有后端服务。在后一种情况下,不需要身份验证,因为只有经过身份验证的用户才能访问 Web 应用程序,并且 Web 应用程序和 WebApi 将在同一台计算机上运行,WebApi 将向外部隐藏。
由于我们需要对第一个场景进行身份验证,因此我将使用 Authorize 属性标记所有公共 API。但对于私人场景,我想绕过任何身份验证。
有什么方法可以根据配置中的某些标志使身份验证可选?
更新
说到两种使用场景,我的意思是两个完全独立的安装!每个都有自己的配置文件。是否需要身份验证的决定是根据安装而不是根据单个安装中的请求做出的!我的目标是在配置中只有一个代码库和一个开关。
我想创建一个ASP.NET Core 3.0 Web Api,它在发布大小和RAM消耗方面具有最小的占用空间。CPU消耗似乎不是什么大问题,在我的用例中,调用次数很少。
为了进行测试,我尝试了ASP.NET Core Empty模板。然后我应用了标志
<PublishTrimmed>true</PublishTrimmed>
<PublishSingleFile>true</PublishSingleFile>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
Run Code Online (Sandbox Code Playgroud)
这使我获得了一个约46 MB的可执行文件,而当我从cmd运行该可执行文件时,我发现一个新的进程消耗了约19 MB。
我的问题:
在ASP.NET 2.X中,有一个元数据包AspNetCore.App,其中包含通常需要的所有内容。但是对于我的嵌入式系统而言,通常有点粗糙。现在在3.0中,我既看不到.csproj中列出的meta包,也看不到任何单独的包。仍然有一种方法可以精确地控制哪些包被引用而哪些没有被引用?
给定PublishTrimmed选项:关心所有包都被引用还是有意义的东西被剥离掉了吗?
更新资料
更明确地说,嵌入式系统将运行基于Yocto的Linux发行版,一些基于C的代码与基础测量硬件进行通信,而ASP.NET Web Api与外界进行通信,仅此而已!一旦发布了LTS版本的ASP.NET Core,我们的系统就可以交付给客户并运行5-10年,而无需进行任何更新(至少在不需要关键安全修复程序的情况下)。通常,该设备只能在局域网中访问。
我想改变角度-ui网格的单元格/行颜色.从文档中我似乎应该使用cellClass.我想要两种颜色用于条纹外观,另一种颜色用于当前选定的行.
在我的columnDefs中,我使用一个函数来确定正确的cellClass.这在首次加载时非常有效.
$scope.getCellClass = function (grid, row, col, rowRenderIndex, colRenderIndex) {
if (row.isSelected)
return 'my-grid-cell-selected';
if ((rowRenderIndex % 2) == 0) {
return 'my-grid-cell1';
}
else {
return 'my-grid-cell2';
}
}
$scope.gridOptions = {
enableRowSelection: true,
enableRowHeaderSelection: false,
multiSelect: false,
columnDefs: [
{ field: 'EventDate', cellClass: $scope.getCellClass },
...
]
};
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何更新所选行的所有单元格的cellClass.我有以下代码,我认为会更新所选行,但没有任何反应,虽然我可以看到它被调用.
$scope.gridOptions.onRegisterApi = function (gridApi) {
$scope.gridApi = gridApi;
gridApi.selection.on.rowSelectionChanged($scope, function(row){
//??????
gridApi.core.notifyDataChange(uiGridConstants.dataChange.ROW);
});
};
Run Code Online (Sandbox Code Playgroud)
如果没有我的cellClasses,所选行的颜色会有所不同.
知道如何为所选行实现自定义颜色吗?
我是ASP.NET Core的忠实拥护者,从最初的步骤到VS2017中的集成,一直到基于msbuild的项目系统,都遵循了它的演变。我也是Google Polymer的忠实拥护者,现在2.0版本已经差不多完成了,我想尝试两者的结合。
我创建了一个ASP.NET Core Web Api项目,该项目将为Polymer前端实现REST API。然后我将命令行指向wwwroot文件夹并执行
polmyer init
Run Code Online (Sandbox Code Playgroud)
创建一个应用程序模板,该模板创建一些模板html文件和一个带有所有基本依赖项的bower_components目录,所有这些都位于wwwroot文件夹中!
我的问题是:
VS2017具有发布功能,默认情况下会发布wwwroot文件夹中的所有内容,但可能会让我排除特定的文件或文件夹。另一方面,Polymer CLI作为构建功能,使我可以将ES6编译为ES5,最小化HTML,CSS,JS或全部,并将文件捆绑在一起。如何将两者结合起来以在VS2017中为我提供单击发布体验?
asp.net-core ×5
c# ×2
polymer ×2
.net-core ×1
asp.net ×1
boost ×1
boost-locale ×1
c++ ×1
locale ×1
ng-grid ×1
pgadmin-4 ×1
polymer-2.x ×1