小编And*_*ndy的帖子

获取带有名称的DataTable列的索引

我有一些代码通过列名设置DataRow中的单元格的值,即

row["ColumnName"] = someValue;
Run Code Online (Sandbox Code Playgroud)

我还要将列中此行的值设置在上面找到的那一行的右侧.显然,如果我通过索引而不是按列名获取单元格,这将很容易.那么有没有办法从列名中获取列索引,从而允许我这样做:

row[index + 1] = someOtherValue;
Run Code Online (Sandbox Code Playgroud)

即,我是否需要在最初创建表时创建某种列索引和列名称的字典,或者我可以稍后从列名称中获取索引而不执行此操作?

c# asp.net datatable datarow

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

RavenDB:子文档的Id生成

我正在尝试迁移现有的Web应用程序以使用RavenDB.

我目前在我的Web应用程序中有页面,允许您根据查询字符串中的id查看Categories,SubCategories和Resources.

但是我注意到RavenDB为聚合根生成了id,但是没有为子实体生成id.

我不认为子类别是聚合根(类别具有子类别),因此我将其作为我的类别文档的子文档.

我错误地将其作为子文档,因为我通过查询字符串传入的id直接访问它?但如果没有,我应该如何访问单个SubCategories,因为RavenDB似乎不为非聚合根的实体生成id?

nosql document-database ravendb

13
推荐指数
2
解决办法
1897
查看次数

jquery等待多个完整的事件

我想使用jQuery的load函数将一些内容加载到div中,我也想调用jQuery的animate函数.

$('#div1').load('...', function() {
    // load complete
});

$('html,body').animate({
    ...: ...}, ..., '...', function(){
    // animate complete
});
Run Code Online (Sandbox Code Playgroud)

我不想load在打电话之前等待完成,animate反之亦然.

在此之后我想调用第三个函数,但我不想把它直到两个完整的事件loadanimate被解雇.

我怎样才能做到这一点?

javascript jquery events jquery-ui

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

Fire timer_立即从Windows服务中的OnStart中获取

我正在使用a System.Timers.Timer,我OnStart在ac #windows服务的方法中有如下代码.

timer = new Timer();
timer.Elapsed += timer_Elapsed;
timer.Enabled = true;
timer.Interval = 3600000;
timer.Start();
Run Code Online (Sandbox Code Playgroud)

这导致代码输入timer_Elapsed从我启动服务后的一小时开始每小时执行一次.有没有办法让它在我启动服务时执行,然后每小时执行一次?

调用的方法timer_Elapsed运行时间太长,无法直接调用它OnStart.

c# windows-services timer

11
推荐指数
1
解决办法
8071
查看次数

GetMonthName:有效值介于1和13之间(包括1和13).为什么?

我不小心通过了0到DateTimeFormatInfoGetMonthName方法:

DateTimeFormatInfo info = new DateTimeFormatInfo();
var monthName = info.GetMonthName(0);
Run Code Online (Sandbox Code Playgroud)

并得到一个System.ArgumentOutOfRangeException带有此错误消息:有效值介于1和13之间(包括1和13).

传入1到12返回"1月"到"12月",但传入13返回空字符串.

我可以看到为什么月数不是零索引,但是13月是什么?

c# asp.net datetime datetimeformatinfo

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

从List <T>获取T属性列表的最佳方法

我有一个List<Users>- 用户有一个用户名属性.

我想知道的是 - 有没有更好的方法来获取List<string>所有用户名,而不是简单地循环并建立我的新列表?

c#

8
推荐指数
3
解决办法
377
查看次数

单元测试FindAsync

我使用这篇优秀的MSDN文章中的异步查询提供程序设置了一个测试项目:http://msdn.microsoft.com/en-US/data/dn314429#async,效果很好.

但是当我添加一个调用的方法时FindAsync:

public async Task<Blog> GetBlog(int blogId)
{
    return await _context.Blogs.FindAsync(blogId);
}
Run Code Online (Sandbox Code Playgroud)

并以以下格式添加以下单元测试:

[TestMethod]
public async Task GetAllBlogsAsync_gets_blog()
{
    var data = new List<Blog>
    {
        new Blog { BlogId = 1, Name = "BBB" },
        new Blog { BlogId = 2, Name = "ZZZ" },
        new Blog { BlogId = 3, Name = "AAA" },
    }.AsQueryable();

    var mockSet = new Mock<DbSet<Blog>>();
    mockSet.As<IDbAsyncEnumerable<Blog>>()
        .Setup(m => m.GetAsyncEnumerator())
        .Returns(new TestDbAsyncEnumerator<Blog>(data.GetEnumerator()));

    mockSet.As<IQueryable<Blog>>()
        .Setup(m => m.Provider)
        .Returns(new TestDbAsyncQueryProvider<Blog>(data.Provider));

    mockSet.As<IQueryable<Blog>>().Setup(m …
Run Code Online (Sandbox Code Playgroud)

c# asp.net unit-testing entity-framework moq

7
推荐指数
1
解决办法
3968
查看次数

404 for web.api cors OPTIONS

我已按照通常的步骤在web.api中启用cors,但在Chrome和Firefox中获得了对OPTIONS请求的404响应 Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://api.mydomain.com/api/1/widgets. This can be fixed by moving the resource to the same domain or enabling CORS.

在我的WebApiConfig.cs中,我得到了:

var enableCorsAttribute = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(enableCorsAttribute);
Run Code Online (Sandbox Code Playgroud)

我也尝试将EnableCors属性添加到特定的控制器或操作,并且都具有相同的结果.

我还在web.config中添加了以下内容:

<modules runAllManagedModulesForAllRequests="true">
  <remove name="WebDAVModule" />
</modules>
<handlers>
    <remove name="WebDAV" />
...
Run Code Online (Sandbox Code Playgroud)

这是我的javascript:

$.ajax({
    url: 'https://api.mydomain.com/api/1/widgets',
    type: "GET",
    headers: {
        Accept: "text/html; charset=utf-8",
        Authorization: 'Bearer ???????????????????????????????'
            }
        });
Run Code Online (Sandbox Code Playgroud)

但Chrome的响应为404,Firefox中的"Cross-Origin请求已被阻止".

以下是我的chrome开发人员工具栏中失败请求的详细信息:

Remote Address:??.???.???.???:443
Request URL:https://api.mydomain.com/api/1/widgets
Request Method:OPTIONS
Status Code:404 …
Run Code Online (Sandbox Code Playgroud)

c# asp.net http cors asp.net-web-api

7
推荐指数
1
解决办法
6046
查看次数

Graphics.DrawString指定文本的不透明度

是否可以指定使用该Graphics.DrawString方法编写的文本的不透明度?

我正在做这样的事情,但如果可能的话,我希望我的文字是半透明的.

目前我这样做:

Graphics graphics = Graphics.FromImage(image);
graphics.DrawString("This is a watermark", 
    new Font("Arial", 40), 
    new SolidBrush(Color.Red), 
    0, 
    0);
Run Code Online (Sandbox Code Playgroud)

c# graphics drawing opacity

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

提交修订控制时,需要开发人员更改自己的配置

当提交到版本控制的更改需要开发人员获取更新时的某些特定附加操作(例如,修改不在版本控制中的本地配置文件)时,通知其他开发人员的最佳方法是什么?

我目前正在提交消息中写它,但似乎很容易错过.任何修订控制系统是否提供了更好的方法?

其他人如何做到这一点,或者是否应该永远不会有任何超出版本控制的必要变更?

我正在使用mercurial,但使用其他形式的修订控制的人的答案也是有用的.

svn git version-control mercurial

6
推荐指数
2
解决办法
449
查看次数