小编Gre*_*Gum的帖子

带构造函数的通用基类

我有一个通用类,如下所示:

public class DataServiceBase<T> : Screen where  T : EntityManager, new (){

    private T _entityManager;

    public T EntityManager {
        get {
            if (_entityManager == null)
            {
                _entityManager = new T();
            }
            return _entityManager;
        }
    }
Run Code Online (Sandbox Code Playgroud)

基本上我所要做的就是创建一个EntityManager,如果它不存在的话.这实际上很好.但是,我需要修改它,因为T不再具有无参数化构造函数.所以我根本不能使用这种方法.

但我确实需要在DataService的派生级别强类型化EntityManager,因为不同的实体管理器处理不同的实体.

我不知道如何解决这个问题.我尝试过的另一种选择是:

public DataServiceBase(EntityManager entityManager) {
        this._entityManager = entityManager;

    }
Run Code Online (Sandbox Code Playgroud)

换句话说,我将它传递给构造函数,但现在我不再具有强类型的属性.

格雷格

c# generics

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

如何设置EDI服务器

我的任务是检查内部EDI的可行性,因为第三方成本已经失控.

在对主题进行Web搜索时,有很多关于各种文档类型和格式的信息,并从XML或数据库文件创建它们.这看起来非常简单.但是,我没有看到服务器到服务器通信的主题.

问题是,设置服务器需要什么?我正在寻找一个第三方组件,我可以在Windows服务器上作为服务器运行(我把它看作是IIS服务器,只是坐在那里等待传入连接,然后进行握手并接受文件.)唯一的事情到目前为止,我发现MS BizTalk服务器包含EDI功能.

我还发现Edidev.com有一个AS2服务器,看起来可能符合要求.

我是这个领域的新手,不想错过任何重要的东西.

edi

5
推荐指数
2
解决办法
7635
查看次数

如何从 Ado.net 捕获 Sql Server 错误

我有以下调用存储过程的代码。我希望能够捕获存储过程运行期间发生的任何错误。

try {
            using (var connection = GetConnection()) {

                using (SqlCommand cmd = connection.CreateCommand()) {
                    connection.Open();
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = "VerifyInitialization";
                    cmd.Parameters.Add(new SqlParameter("@userId", user.Id));
                    cmd.Parameters.Add(new SqlParameter("@domainId", user.DomainId));
                    cmd.ExecuteNonQueryAsync();
                }

            }
        }
        catch (Exception ex) {
            throw new LoginException(LoginExceptionType.Other, ex.Message);
        }
Run Code Online (Sandbox Code Playgroud)

这就是存储过程,它基本上只是调用其他存储过程。

 ALTER PROCEDURE [dbo].[VerifyInitialization] 
-- Add the parameters for the stored procedure here
@userId int, 
@domainId int
 AS
 BEGIN
Begin Try
SET NOCOUNT ON;
Exec VerifyInitializationOfDefaultLocalizationItems
Exec VerifyInitializationOfLayoutLists @domainId
Exec VerifyInitializationOfLayoutListItems @domainId
Exec VerifyInitializationOfLocalizationItems @domainId
Exec VerifyInitializationOfLookupLists @domainId
Exec …
Run Code Online (Sandbox Code Playgroud)

c# ado.net sql-server-2008-r2

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

SPA初始加载时间

SPA的缺点当然是初始加载时间.

例如,我用Durandal创建了AskACarPro.com.

它在加载时当前有一个"加载"屏幕.但我想也许这是一个坏主意.这让我想起了一个全闪存的网站 - 非常漂亮,但没有人想在他们第一次到达网站时观看加载微调器.

我随机发现的另一个例子是MyBestEgg.com它是一个Angular网站.没什么特别的,但是我的机器上的冷加载时间差不多是6秒.

但它没有飞溅,所以屏幕在加载时会跳跃一下.我不知道这比闪屏更好.

处理不可避免的SPA加载时间是否有最佳实践?显然应该尽可能捆绑和缩小应用程序,但应用程序启动时总是会有延迟.

这可能更像是设计师类型的问题,而不是编程问题.然而,重要的是因为负载因素是不使用SPA的原因.

angularjs single-page-application durandal

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

删除数据库范围的凭据

我在Azure中有一个数据库,需要移动到本地数据库。

我使用SSMS导出.bacpak文件,然后连接到本地版本的Sql Server并尝试将其导入。

导入开始,但此行失败

Create database scoped credential...
Run Code Online (Sandbox Code Playgroud)

此功能在Azure中可用,但在Sql Server 2014中不可用(将于2016年提供)。

为了解决该问题,我去了Azure数据库并使用SSMS删除了凭据。

因此,该凭证在SSMS中不再可见。

然后,我创建了一个新的导出,并尝试导入它。但是我收到相同的错误消息。换句话说,即使脚本已从数据库中删除,该脚本仍在尝试创建凭据。

我还需要执行其他操作来完全删除凭据吗?我已经尝试了几次导出/导入,只是为了确保没有导入原始文件,但是我确定事实并非如此。是否有一个紧凑的命令或需要运行的命令来完全清除对数据库的更改?

sql-server azure-sql-database

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

如何在一个媒体查询中组合最小宽度和最大宽度

此媒体查询无法正常工作.

我想要做的是在窗口低于544px时隐藏元素,如果它高于767px则隐藏它.因此只有在窗口介于544px和767px之间时才能看到它.

@media (max-width: 544px) and (min-width: 767px) {
    .show-sm-only {
        display: none !important;
    }
 }
Run Code Online (Sandbox Code Playgroud)

它们似乎是分开工作,但不是一起工作.

我该如何实现这一目标?

css

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

将 css 与 webpack 捆绑在一起

我是 webpack 的新手。我正在使用它来捆绑 aurelia 应用程序网站。

它捆绑了 html,并且还查找所有图像并将它们放入 dist 文件夹中。这可以正常工作并且运行没有错误。

现在我想以同样的方式捆绑CSS。我希望 css 能够像图像一样移动到“dist”文件夹中。

但是,当我运行 build 时,CSS 似乎没有被 webpack 处理。没有像图像那样查找 CSS 的消息。

这是我期望 webpack 处理的内容:

<link href="../css/main.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)

我做错了什么吗?

const path = require("path");
const {AureliaPlugin} = require("aurelia-webpack-plugin");
const webpack = require("webpack");

module.exports = {
  entry: { main: "aurelia-bootstrapper" },

  ///dev
  devtool: 'source-map',

  ///Prod
  //devtool: 'source-map',

  output: {
    path: path.join(__dirname, "wwwroot", "dist"),
    filename: "app.js",
    publicPath: "/dist/",
  },

  resolve: {
    extensions: [".js"],
    modules: ["App", "node_modules"],    
  },

  module: {
    rules: [
        { test: /\.html$/i, loaders: …
Run Code Online (Sandbox Code Playgroud)

webpack aurelia webpack-2

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

如何解决 DbContext 中的循环依赖

TenantId我想在 my 中设置,DbContext以便我可以使用它过滤所有查询。

我已经设置了过滤器,但我很难TenantId访问DbContext.

困难的原因是UserManager用于获取当前登录用户的 和 取决于TenantIdDbContext数据库获取数据的 。因此,我无法使用UserManager依赖注入导入,因为它会导致循环依赖。取决于UserManagerDbContext并且DbContext取决于UserManager

还有其他方法可以配置这个吗?

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

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

如何查看 Azure 上的应用程序日志记录

我有一个在 azure 上运行的 aspnetcore 2.1 应用程序。

我现在想查看日志信息以调试仅在 Azure 上发生的问题。

在应用程序中, anILogger<>被注入到类中并使用: this._logger.LogInformation("constructor**********************************************");

如果我在 VS 中运行应用程序,我可以在调试输出窗口以及 asp.net 核心 Web 服务器输出窗口中看到输出。

然后我发布并继续使用 Azure 并启用日志流并查看它。我确实看到日志流中出现了信息,但这只是来自 IIS 的请求信息。我没有看到任何其他日志消息。

我还需要做什么才能查看 Azure 上的日志记录信息吗?

c# azure asp.net-core asp.net-core-2.1

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

Caliburn.Micro动作参数不绑定

我有一个包含以下内容的文本框:

<i:Interaction.Triggers>
 <i:EventTrigger EventName="KeyUp" >                                               
     <cal:ActionMessage MethodName="OnKeyUp" >
          <cal:Parameter Value="$eventArgs"/>
     </cal:ActionMessage>
 </i:EventTrigger>
Run Code Online (Sandbox Code Playgroud)

如果我运行此命令,则会生成一条错误消息,指出"找不到Method OnKeyUp的目标".如果我从消息和方法中删除参数,那么它运行正常.

这是方法.

public void OnKeyUp(object sender, KeyEventArgs e) {
        MessageBox.Show(e.Key.ToString());
    }
Run Code Online (Sandbox Code Playgroud)

我不明白这是什么问题.

c# xaml caliburn.micro

4
推荐指数
1
解决办法
4895
查看次数