我正在构建一个 Vue 应用程序,并且想要在一个构建案例中构建时覆盖一些环境变量,因此我创建了一个自定义mode并执行了一个命令,package.json如下所示:
vue-cli-service build --mode myMode --modern
Run Code Online (Sandbox Code Playgroud)
并将我想要的环境变量放入为此模式指定的文件中:
// file name: .env.myMode
VUE_APP_MY_VAR=123
Run Code Online (Sandbox Code Playgroud)
现在,如何在production自定义模式下使用相同的构建步骤进行构建?因为当我使用前面的命令构建时,它不会破坏或压缩 js 文件。
我是asp.net核心的新手.
我正在尝试做的是构建多项目解决方案并使用依赖注入来传递项目之间的接口.
我所知道的是,在ASP.NET核心项目中,我们有文件中的ConfigureServices方法startup.cs来注册我们的接口及其实现,如下所示:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
services.AddTransient<IMyInterface,MyImplementation>();
.....
}
Run Code Online (Sandbox Code Playgroud)
如果您在同一个项目中拥有所有类,那么这很好,但如果我有多个项目怎么办?
通常我要做的是与安装程序(Windsor安装程序)创建单独的项目,以注册所需的接口及其实现.
在.net核心中,我们可以通过创建静态ServiceCollection();并从中获取静态IServiceProvider来随时使用它来获取您注册的任何服务:
public static IServiceCollection _serviceCollection { get; private set; }
public static IServiceProvider serviceProvider { get; private set; }
public static RegisterationMethod() {
_serviceCollection = new ServiceCollection();
_serviceCollection.AddSingleton<IMyInterface,MyImplementation>();
.....
serviceProvider = _serviceCollection.BuildServiceProvider();
}
public T GetService<T>() where T : class
{
return serviceProvider.GetService<T>();
}
Run Code Online (Sandbox Code Playgroud)
现在我们RegisterationMethod从ower启动项目调用并继续像往常一样开发,始终在此类中注册服务.
这种方法的问题是,如果我在ASP.NET核心项目中使用它,我将有两个地方来注册服务,这一个和startup.cs文件中的一个ConfigureServices(IServiceCollection services).
你可以说, …
在 .Net Core 3.1 和使用System.Text.Json库中,我遇到了 Newtonsoft 库中没有出现的问题。
如果我在 JSON 中为某些类型(后端类型)DateTime?或 的属性发送一个空字符串int?,它会返回 400 状态代码,并带有一条错误消息,表示值无法反序列化。但是,对于 Newtonsoft,空字符串会自动解释为任何值的空值。Nullable<T>.
一个最小的例子是:
var json = "\"\"";
Assert.AreEqual(null, Newtonsoft.Json.JsonConvert.DeserializeObject<DateTime?>(json)); // Passes
Assert.AreEqual(null, System.Text.Json.JsonSerializer.Deserialize<DateTime?>(json)); // Throws System.Text.Json.JsonException: The JSON value could not be converted to System.Nullable`1[System.DateTime].
Run Code Online (Sandbox Code Playgroud)
有没有办法让System.Text.Json行为以同样的方式?演示在这里。
当我修改我的代码时,我必须上传项目的DLL我修改它,但问题是我放松了我放入会话的数据,因为我的应用程序重新启动.
这是正常的吗?或者我应该做些什么来阻止重启?
我觉得这是错的,因为想象一下,如果你在购物网站上工作,人们购买商品,突然他们丢失了放在购物车中的所有东西(因为你在会话中保存了他们的选择.
有没有办法在Asp中做到这一点.净?
谢谢
使用 SQL Server 2017 我按照这篇文章应用了 Always Encrypt 技术:https : //www.codeproject.com/Articles/1110564/Always-Encrypted-feature-in-SQL-Server 简单地说:
用于步骤 1.的证书是使用向导生成的并保存在:
密钥库: Windows Certificate Store - Local Machine
我创建了一个非常简单的控制台应用程序,它使用 EF 尝试从我对列进行加密的表中获取数据。
我在连接字符串中添加了这个:column encryption setting=Enabled.
当我尝试获取数据时:
using (MyEntities en = new MyEntities())
{
var x = en.TableHasColEnc.ToList();
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
'未能解密列'X'。无法使用密钥存储提供程序解密列加密密钥:“MSSQL_CERTIFICATE_STORE”。加密列加密密钥的最后 10 个字节是:'XX-XX-XX-XX-XX-XX-XX-XX-XX-XX'。在证书位置“LocalMachine”的证书存储“My”中找不到带有指纹“...”的证书。验证数据库中列主密钥定义中的证书路径是否正确,并且证书已正确导入到证书位置/存储中。参数名称:masterKeyPath'
我了解到运行此应用程序的用户无法访问该位置以获取证书,但为什么呢?
如果我以管理员身份运行该应用程序,它将正常工作。
我打开mmc并检查Certificates (Local Computer)并找到了在步骤 1 中使用的证书。它看起来在本地机器中正确,而不是当前用户。
为什么我会收到此错误以及如何解决?
我写了下面的代码:
1. MyClass[] origArr=new MyClass[3];
2. MyClass[] arr1;
3. // filled the array with objects and did some work on it .
4. dgv_1.DataSource=origArr;
5.
6. // Here is the problem :
7. arr1=origArr;
8. // do some work on arr1 ...
9. dgv_2.DataSource=arr1;
Run Code Online (Sandbox Code Playgroud)
出于某种原因,当'arr1'中的数据发生变化时,'origArr'中的数据发生了变化......
我认为这可能是因为'origArr'和'arr1'是指向同一个对象的指针,所以我将第7行更改为:
7. origArr.CopyTo(arr1,0);
Run Code Online (Sandbox Code Playgroud)
但它不起作用......我该怎么做才能使指针指向不同的对象?