小编Mar*_*rco的帖子

如何确定分布式架构?

在设计大型应用程序时,我正试图了解思考过程.

假设我有一个客户需要一个新的客户网站,他估计每天有40,000个订单,已有25,000个用户群.在设计应用程序时,您如何确定是否需要分布式架构?我应该使用网络农场吗?等等

我过去主要构建2层(物理)应用程序,我真的想提高我的理解力.

任何见解都会很棒!

.net c# architecture asp.net distributed

16
推荐指数
2
解决办法
1543
查看次数

如何使用Serilog ForContext

我是Serilog的新手,我很难弄清楚如何使用上下文功能.当我运行下面的代码时,输​​出文件不包含报告ID.我缺少什么想法?

var logger = new LoggerConfiguration()
                .WriteTo
                .File(@"C:\Log.txt")
                .CreateLogger()
                .ForContext("Report ID", 10);

logger.Information("Test"); 
Run Code Online (Sandbox Code Playgroud)

.net logging serilog

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

为什么这段代码没有死锁?

Log方法块不应该阻塞吗?

namespace Sandbox {
class Program {
    static void Main(string[] args) {
        var log = new Logger();
        lock (log) {
            log.Log("Hello World!");
        }
    }
}

public class Logger {
    public void Log(string message) {
        lock (this) {
            Console.WriteLine(message);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

}

.net c# multithreading

12
推荐指数
1
解决办法
2555
查看次数

如何在Linq to SQL中使用distinct with group

我正在尝试将以下sql转换为Linq 2 SQL:

select groupId, count(distinct(userId)) from processroundissueinstance 
group by groupId
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

var q = from i in ProcessRoundIssueInstance
    group i by i.GroupID into g
    select new
    {
        Key = g.Key,
        Count = g.Select(x => x.UserID).Distinct().Count()
    };
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我不断获得无效的GroupID.有任何想法吗?看起来不同的是搞砸了......

这是生成的sql:

SELECT [t1].[GroupID] AS [Key], (
SELECT COUNT(*)
FROM (
    SELECT DISTINCT [t2].[UserID]
    FROM [ProcessRoundIssueInstance] AS [t2]
    WHERE (([t1].[GroupID] IS NULL) AND ([t2].[GroupID] IS NULL)) 
       OR (([t1].[GroupID] IS NOT NULL) 
            AND ([t2].[GroupID] IS NOT NULL) 
            AND ([t1].[GroupID] = [t2].[GroupID]))
    ) AS [t3] …
Run Code Online (Sandbox Code Playgroud)

.net c# linq linq-to-sql

11
推荐指数
2
解决办法
3万
查看次数

实体框架:渴望加载继承实体的导航属性

我试图加载我的整个图表,它看起来像下面这样:

public class WorkoutProgram
{
    public Schedule Schedule { get; set; }
}

public class Schedule
{
    public ICollection<DayBase> Days { get; set; }
}

public abstract class DayBase
{
}

public class TrainingDay : DayBase
{
    public ICollection<Exercise> Exercises { get; set; }
}

context.WorkoutPrograms.Include("Schedule.Days.Exercises");
Run Code Online (Sandbox Code Playgroud)

显然,并非所有Schedule.Days都是TrainingDays,所以由于路径包含,我得到运行时错误Exercises.

我在这里错过了配置,还是我需要求助于延迟加载(我希望不要).

谢谢

.net c# entity-framework

9
推荐指数
1
解决办法
640
查看次数

ASP.NET MVC ViewModelBuilder建议

对于除了普通视图模型之外的任何东西,我使用视图模型构建器来处理生成视图模型对象的责任.现在,我使用构造函数注入构建器到我的控制器中,但这有点气味,因为构建器实际上依赖于正在执行的操作方法.我有两个想法.第一个涉及自定义ActionFilter,允许我使用适当的构建器来装饰每个操作方法.第二种方法是添加View方法的覆盖,该方法可以接受泛型.

这是我的代码目前的样子.注意,构建器通过ctor注入.

    [HttpGet, ImportModelStateFromTempData, Compress]
    public ActionResult MyAccount()
    {
        return View(accountBuilder.Build());
    }
Run Code Online (Sandbox Code Playgroud)

这是一个看起来像什么的选项:

    [HttpGet, ImportModelStateFromTempData, Compress, ViewModelBuilder(typeof(IMyAccountViewModelBuilder)]
    public ActionResult MyAccount()
    {
        return View();
    }
Run Code Online (Sandbox Code Playgroud)

或者选项二:

    [HttpGet, ImportModelStateFromTempData, Compress]
    public ActionResult MyAccount()
    {
        return View<IMyAccountViewModelBuilder>();
    }
Run Code Online (Sandbox Code Playgroud)

任何想法或建议都会很棒!

architecture asp.net-mvc model view

8
推荐指数
1
解决办法
1959
查看次数

具有多个应用程序的ASP.NET标识

所以我们的组织正在使用asp.net mvc和web api开发一些新的web应用程序.我们决定不使用活动目录进行身份验证/授权,因此看起来像实体框架的asp.net身份可能会起作用.

查看数据库模式我没有看到应用程序表,因此我们可以拥有一个用于用户凭据和应用程序访问的中央存储库.这是声称进来的地方吗?那怎么样; 用户 - >应用程序 - >角色 - >权限

另外,我们的目标之一是为用户提供单点登录.这是否可能与新的持票人令牌?

感谢您的任何帮助,您可以提供

asp.net-mvc single-sign-on asp.net-web-api asp.net-identity

8
推荐指数
1
解决办法
9722
查看次数

AngularJS与$$ hashkey比较

我试图将转发器中包含的对象与刚刚从服务器返回的对象进行比较.

因为重复的对象包含hashkey属性,angular.equals的计算结果为false.

我想我可以删除该属性,但我不知道他们是否是一个有角度的方式来处理这个.

谢谢

angularjs

6
推荐指数
1
解决办法
2781
查看次数

实体框架4(使用过滤器配置的关联)

我有一个包含调查实体集合的用户实体.我希望关联包含关系的过滤器,例如'IsCompleted',所以每当我急切地加载(或延迟加载)集合时,就会发生这种过滤.

这是我们控制的东西吗?

谢谢!

.net c# ado.net entity-framework

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

API设计问题

在设计我的api时,我正在考虑如何建模以下行为.

选项1似乎更合乎逻辑,但随之而来的是强制执行不变量,例如检查电子表格是否实际属于工作簿.

选项2看起来很奇怪,电子表格知道如何删除自己,但实际上电子表格有一个对其父工作簿的引用,并可以直接将调用委托给他.

或者这真的不是一个有效的案例,因为工作簿需要验证它的电子表格,不管是什么?想法?

Workbook wb = new Workbook("Finances");
Spreadsheet ss = wb.CreateSpreadsheet("Bob's");

// option 1:
wb.RemoveSheet(ss);

// option 2:
ss.RemoveFromWorkbook();
Run Code Online (Sandbox Code Playgroud)

谢谢大家

.net c# domain-driven-design object-model

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