小编J4N*_*J4N的帖子

检测重叠周期的算法

我要检测两个时间段是否重叠.
每个期间都有开始日期和结束日期.
我需要检测我的第一个时间段(A)是否与另一个时间段(B/C)重叠.
在我的情况下,如果B的开头等于A的结尾,它们不重叠(反过来)
我发现以下情况:

在此输入图像描述

所以实际上我这样做是这样的:

tStartA < tStartB && tStartB < tEndA //For case 1
OR
tStartA < tEndB && tEndB <= tEndA //For case 2
OR
tStartB < tStartA  && tEndB > tEndA //For case 3
Run Code Online (Sandbox Code Playgroud)

(案例4在案例1或案例2中被记入帐户)

有效,但似乎效率不高.

所以,首先在c#中有一个现有的类可以对此进行建模(一个时间段),类似于时间跨度,但具有固定的开始日期.

其次:是否已经有ac#代码(比如在DateTime类中)可以处理这个问题?

第三:如果不是,那么你最快速地进行这种比较的方法是什么?

.net c# algorithm time datetime

379
推荐指数
6
解决办法
12万
查看次数

从entityframework中检索一个没有ONE字段的对象

我正在使用实体框架来连接数据库.我有一个小问题:

我有一个表有一个varbinary(MAX)列(带有文件流).

我正在使用SQL请求来管理"数据"部分,而其余部分则使用EF(文件的元数据).

我有一个代码必须获取文件的所有文件id,文件名,guid,修改日期等.这根本不需要"数据"字段.

有没有办法检索List但没有填充此列?

就像是

context.Files.Where(f=>f.xyz).Exclude(f=>f.Data).ToList();
Run Code Online (Sandbox Code Playgroud)

??

我知道我可以创建匿名对象,但我需要将结果传递给方法,所以没有匿名方法.我不想把它放在匿名类型列表中,然后创建一个非匿名类型(File)列表.

目标是避免这种情况:

using(RsSolutionsEntities context = new RsSolutionsEntities())
{
    var file = context.Files
        .Where(f => f.Id == idFile)
        .Select(f => new {
            f.Id, f.MimeType, f.Size, f.FileName, f.DataType,
            f.DateModification, f.FileId
        }).FirstOrDefault();

    return new File() {
        DataType = file.DataType, DateModification = file.DateModification,
        FileId = file.FileId, FileName = file.FileName, Id = file.Id,
        MimeType = file.MimeType, Size = file.Size
    };
}
Run Code Online (Sandbox Code Playgroud)

(我在这里使用的是匿名类型,否则你会得到一个NotSupportedException:实体或复杂类型'ProjectName.File'不能在LINQ to Entities查询中构造.)

(例如,此代码抛出先前的异常:

File file2 = context.Files.Where(f => f.Id == idFile)
  .Select(f => new File() …
Run Code Online (Sandbox Code Playgroud)

.net c# sql entity-framework

51
推荐指数
5
解决办法
4万
查看次数

使用凭据与Sharepoint的客户端对象模型进行交互?

我需要编写一个小软件,它必须在Sharepoint 2010上更新一些列表.

我找到了可以使用url创建的"SPSite",但我无法弄清楚如何指定我想要连接的用户.

用户不是当前的Windows用户,并且该程序未在服务器上执行.

我看到了提供"SPUserToken"的可能性,但在我的方法中我只有用户,域和他的密码,所以如何生成这个用户(我认为这个用户在执行代码的系统上是未知的,但在服务器上已知)

我在哪里可以指定?

谢谢!

.net c# sharepoint sharepoint-2010 sharepoint-clientobject

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

Asp:net MVC 3:@ Html.Editor在模板中对我的模型进行子集合?

我已经被困了很长时间来编辑我的模型的子集合,模型的集合变为空.

我终于找到了一个解决方案,但我发现它有点脏:

首先是我的测试数据:

模型对象:

    public class ContainerObject
    {
        public String Title { get; set; }
        public List<ContainedObject> ObjectList { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

子集合对象:

public class ContainedObject
{
    public int Id { get; set; }
    public String Text { get; set; }
    public Boolean IsSelected { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

生成对象的控制器方法

    public ActionResult TestForm()
    {
        return View(new ContainerObject()
        {
            Title = "This is a sample title",
            ObjectList = new List<ContainedObject>()
                {
                    new ContainedObject(){Id=1, IsSelected = true, Text="ObjectOne"},
                    new …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-mvc partial-views asp.net-mvc-3

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

使用ASP.Net MVC3显示包含在byte []中的图像

我有一个强大的观点.这个强类型有一个由byte []组成的字段,这个数组包含一个图片.

是否可以使用@ Html.Image(Model.myImage)等显示此图像?

非常感谢你

c# asp.net-mvc strong-typing razor asp.net-mvc-3

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

使用razor/asp.net mvc3生成静态html页面?

对于一个项目,我将生成静态.html页面,这些页面将在远程服务器上发布.

我将自动从ac#代码创建这些文件,该代码从SQL Server数据库获取数据.

数据不会经常更改(每4-5个月),这个网站将经常光顾.

既然我发现asp.net MVC3的剃刀synthax非常有效,我想知道是否可以使用asp.net MVC3/Razor生成那些.html页面?

所以:

  1. 这是一个好主意吗?
  2. 如果是的话,有什么好办法?
  3. 如果你想到另一种好方式做到这一点,哪种方式?

感谢您的帮助

编辑

关于答案,我需要精确:我不想/需要使用Web缓存,原因很多(加载(每月加载数百万页),集成(我们将页面集成在优化的apache中,网站的另一部分),页面数量(缓存只会帮助我,如果我有相同的页面很多时间,但我会有~2500页,所以使用墨菲定律,除非我放置一个非常高的缓存超时,我将不得不经常生成它们.所以我真的搜索一些东西来生成HTML页面.

编辑2 我刚刚得到一个新约束:/那些模板必须本地化.这意味着我应该拥有与以下剃刀代码相同的东西:@MyLocalizationFile.My.MyValue

编辑3 目前,我正在考虑做一个动态网站,并在其上调用一些http查询,以存储生成的HTML.但是,有没有办法避免http?意思是模拟一个http调用,指定输出流和调用的url(只有GET调用).

我们以前的负载数据实际上被低估了,实际上他们每天的访问量超过一百万,每天负载约为1400万页.

html c# asp.net-mvc razor

19
推荐指数
2
解决办法
7860
查看次数

SQL报告服务:第一次调用非常慢

我安装了一个SQL报告服务器(2008 R2)和一些报告.但我有一些表演问题.

当天对服务器的第一次调用(通过示例进入报告界面)非常慢(最好是30-45秒).

然后报告生成"快速"(1-2秒).

对服务器的下一次调用总是快到第二天.我的印象是它在内存中加载了很多东西.但是什么可能需要30-45秒加载到内存??? 以及如何只加载一次?

服务器足够好(四核,8GB内存,现在从未接近其容量).

问题是什么?我该如何解决这个问题?

Thoses报告将在一周内启动4-5次,因此如果我无法改变这一点,它们将总是很慢.由于它可供客户使用,我无法让他们理解这一点(并且报告是通过网站调用的,因此我有可能超时).

非常感谢你

sql-server reporting-services ssrs-2008

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

数据库和"分支"

我们目前正在开发一个使用数据库的应用程序.

每次我们更新数据库结构时,我们都必须提供一个脚本来将数据库从先前版本更新为当前版本.

因此,数据库当前有一个数字,它给了我们当前版本,然后我们的软件在我们想要使用"旧"数据库时进行更新.

我们遇到的问题是我们有分支机构:

当我们创建一个新的大功能,用户无法使用(并且不包含在发行版中)时,我们会创建一个分支.

主分支(主干)将定期合并,以确保创建早午餐具有最新的错误更正.

这是一些例子: 在此输入图像描述

问题出在我们的更新脚本上.它们从先前版本更新为当前版本,然后更新数据库的版本号.

想象一下,在创建分支时我们有数据库版本17.

然后我们执行分支,并在Trunk DB上进行更改.DB现在版本为18.

然后我们在分支上进行db更改.由于我们知道已有新版本"18",我们创建版本19和更新程序18-> 19.

然后在树枝上合并主干.

在这个时刻,我们可能会有一些永远不会运行的更新程序.

如果有人在合并之前更新了他的数据库,他的数据库将被标记为具有版本19,更新17-> 18将永远不会完成.

我们想要改变这种行为,但我们找不到如何:

我们的约束是:

  • 我们无法在同一分支上进行所有更改
  • 有时我们只有2个分支,我们只能从主干到功能分支合并,直到功能完成

我们可以做些什么来确保数据库分支之间的连续性?

database version-control merge tfs branch

18
推荐指数
1
解决办法
4819
查看次数

MVVM Light 5.0:如何使用导航服务

最新版本的MVVM Light note中,已经表明MVVM Light现在提供了"导航服务".

但我和我的朋友谷歌无法找到如何使用它.

我可以看到我可以向INavigationServiceServiceLocator 询问,所以我看到我可以要求转到另一个页面,但是:

  1. 我创建了一个新的窗口,我希望为"页面"保留一个特定的区域,我该如何指定?
  2. 如何指定所有可用页面?有什么我应该打电话的吗?
  3. 给出的参数格式是什么? INavigationService

这个图书馆有官方文件吗?因为目前我发现它很好地编码并且工作正常,但是当我要搜索如何使用它时,我从来没有找到如何使用的文档/示例,除了他的博客有一些条目.这非常令人沮丧.我找到的唯一文件就是这个,我对Pluralsight不太熟悉,但似乎必须每月订阅一次(作为个人,试图在我的空闲时间申请,是不可能的).

c# wpf mvvm mvvm-light

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

如何演示CSRF攻击

我正在向我们企业中的其他人介绍Web安全性,并且我想展示一些示例以产生更多影响.

为此,我创建了一个易受此攻击的小型网站,该网站只能在我们的网络上访问.

我现在正试图利用这次攻击,但我有一个问题:

如何使用POST表单执行此操作?

使用GET查询我没有问题,但是使用POST,我正在尝试使用javascript执行此操作,如果我在同一主机上托管我的代码没有问题,但是如果我想将代码托管到另一台主机为了更加现实,我被阻止,因为它是一个跨域请求.

那么我应该如何发送这些POST变量呢?

谢谢!

这是我目前的代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>CSRF attack demo</title>
<script type="text/javascript">
function getHTTPObject() {
        var http = false;
        //Use IE's ActiveX items to load the file.
        if(typeof ActiveXObject != 'undefined') {
            try {http = new ActiveXObject("Msxml2.XMLHTTP");}
            catch (e) {
                try {http = new ActiveXObject("Microsoft.XMLHTTP");}
                catch (E) {http = false;}
            }
        //If ActiveX is not available, use the XMLHttpRequest of Firefox/Mozilla etc. to load the document.
        } else if (window.XMLHttpRequest) …
Run Code Online (Sandbox Code Playgroud)

security web-applications csrf

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