小编Cyb*_*ogs的帖子

我应该如何在MVC Core中管理DbContext Lifetime?

来自文档

使用Scoped生命周期将实体框架上下文添加到服务容器中.如果您使用上面显示的辅助方法,则会自动完成此操作.将使用实体框架的存储库应使用相同的生命周期.

我一直认为,我应该Context为我必须处理的每一个工作单元创建一个新的.这让我想到,如果我有一个ServiceAServiceB,这些都对应用不同的行动DbContext,他们应该得到的不同实例DbContext.

文档读取如下:

  • Transient对象总是不同的; 为每个控制器和每个服务提供一个新实例.

  • Scoped 对象在请求中是相同的,但在不同的请求中是不同的

让我们回到ServiceAServiceB,它的声音对我来说,Transient是比较适合.

我研究过,上下文应该只保存一次HttpRequest,但我真的不明白这是如何工作的.

特别是如果我们看一个服务:

using (var transaction = dbContext.Database.BeginTransaction())
{
    //Create some entity
    var someEntity = new SomeEntity();
    dbContext.SomeEntity.Add(someEntity);

    //Save in order to get the the id of the entity
    dbContext.SaveChanges();

    //Create related entity
    var relatedEntity = new RelatedEntity
    {
        SomeEntityId = someEntity.Id
    };
    dbContext.RelatedEntity.Add(relatedEntity)
    dbContext.SaveChanges();
    transaction.Commit();
} …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core asp.net-core-mvc .net-core asp.net-core

19
推荐指数
1
解决办法
6840
查看次数

为什么不能在实体框架中继承模型的视图模型

当我在工作中开发应用程序时,我收到一个错误:

Value cannot be null. Parameter name: input
Run Code Online (Sandbox Code Playgroud)

很多帖子在谈论这个,所以我读了它们......没有解决方案.

好继续.所以我检查了在数据库模型中是否有任何不可为空的属性试图插入而不是,所有这些属性都可以为空(除了Identity)所以这不是问题.所以我意识到抛出错误的View Model 从Model类继承的,我想:" 这可能是问题吗? ".所以我不再继承模型并重新开始工作.

请注意,这不是第一次发生这种情况,两周前我遇到了同样的情况而且是因为它.

为什么我从模型类继承?因为它有+10属性,我需要它在视图中显示这些值,但我还需要显示另一个模型类的值,所以我创建了一个视图模型:

class ViewModel: ModelClass{

    //ModelClass contains +10 properties
    //and the current class contains 7 properties

    public ModelClass CastToModelClass()
    {
        return new ModelClass{ /*stuff...*/ }// casting the current properties values to the ModelClass class
    }
}
Run Code Online (Sandbox Code Playgroud)

当我插入新铸造的模型时,我得到错误:

public JsonResult Save(ViewModel model)
{
    var modelClass = model.CastToModelClass();
    // here there are not empty properties
    context.ModelClass.Add(modelClass);
    context.SaveChanges();// error …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc inheritance entity-framework

5
推荐指数
1
解决办法
4179
查看次数

ASP.NET MVC和Angularjs与ASP.NET MVC和Reactjs

我在ASP.NET mvc项目之上使用了AngularJs.尽管AngularJs和ASP.NET都基于mvc架构,但是当我在ASP.NET mvc项目中使用AngularJs时,我可以看到一些优势.我在这种方法中看到的主要优点是更好地呈现视图.如果是这样,为什么不将ReactJs与ASP.NET mvc一起使用,因为它纯粹关注视图.为什么我们要搞乱两个mvc框架.在ASP.NET mvc之上使用Reactjs比使用AngularJs和ASP.NET mvc组合​​更好(注意我将始终使用ASP.NET mvc并且我不想使用纯JavaScript框架).如果我错了,请纠正我.提前致谢.

asp.net-mvc web-frontend angularjs reactjs asp.net-mvc-5

5
推荐指数
1
解决办法
2190
查看次数

如何使用WebUSB API和PC / SC从Chrome浏览器访问智能卡?

我正在尝试编写一个Web应用程序,该应用程序需要与本地智能卡交换消息。目前,我正在尝试使用WebUSB API将Chrome与智能卡读卡器连接起来,但是我在努力使用PC / SC规范。

在研究中,我发现了两个主题:

从通用浏览器访问智能卡的体系结构?或者:如何弥合浏览器与PC / SC堆栈之间的差距?

如何使用JavaScript从Web浏览器向PCSC阅读器发送APDU

尽管它们涉及同一主题,但是它们没有连接示例。

如果有人有任何提示或连接示例,我将不胜感激。

javascript apdu smartcard pcsc webusb

5
推荐指数
0
解决办法
3201
查看次数

C# SCardGetStatusChange() 检查智能卡状态

我想检测智能卡的状态,看看是否有卡插入或拔出,
​​为此我在这里使用了智能卡读取代码

我发现该SCardGetStatusChange功能可以检测到,但不知道如何使用。这是我的添加代码

[DllImport("winscard.dll")]
    public static extern int SCardGetStatusChange(int hContext,uint dwTimeout,[In, Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex=3)]SCARD_READERSTATE[] rgReaderState,uint cReaders);

public struct SCARD_READERSTATE
    {
        [MarshalAs(UnmanagedType.LPTStr)]
        public string szReader;
        public IntPtr pvUserData;
        public uint dwCurrentState;
        public uint dwEventState;
        public uint cbAtr;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 36)]
        public byte[] rgbAtr;
    }
SCARD_READERSTATE[] rs = new SCARD_READERSTATE[1];
rs[0].szReader = ReaderList;
rs[0].dwCurrentState = SCARD_STATE_UNAWARE;
int result = SCardGetStatusChange(ContextHandle, 1000, rs, 2);
Run Code Online (Sandbox Code Playgroud)

但结果总是一样,我不知道什么是错误的参数。

c# smartcard

3
推荐指数
1
解决办法
4804
查看次数

Webpack构建React.createClass不是一个函数

我有一个模块构建器的ReactJS应用程序webpack,以下是我的配置webpack.config.js

var path = require('path');
var webpack = require('webpack');

module.exports = {
    entry: {
        app : './src/scripts/app.js'
    },
    output: {
        filename: '[name].bundle.js',
        path: path.resolve(__dirname, 'public')
    },
    context: __dirname,
    resolve: {
        extensions: ['.js', '.jsx', '.json', '*']
    },
    module: {
        rules: [
            {
                test: /\.jsx?$/,
                exclude: /(node_modules|bower_components)/,
                loader: 'babel-loader',
                options: {
                    presets: ['react', 'es2015']
                }
            },
            {
                test: /\.css$/,
                use: [
                    'style-loader',
                    'css-loader'
                ]
            },
            {
                test: /\.(png|svg|jpg|gif)$/,
                use: [
                    'file-loader'
                ]
            },
            {
                test: /\.(woff|woff2|eot|ttf|otf)$/,
                use: …
Run Code Online (Sandbox Code Playgroud)

javascript babel ecmascript-6 reactjs webpack

3
推荐指数
1
解决办法
1600
查看次数

是否可以同时安装 SQL Server Express 版本和 SQL Server Developer 版本?

我查看了 Microsoft 文档,但没有找到答案,我的计算机上已经安装了 SQL Server 2016 Express 版本,想知道是否可以将 SQL Server 2016 Developer 版本与 Express 版本并排安装?

sql-server sql-server-2016 sql-server-2016-express

2
推荐指数
1
解决办法
1733
查看次数