小编Kha*_*meh的帖子

如何在C#中创建异步方法?

我读过的每篇博文都告诉你如何在C#中使用异步方法,但由于一些奇怪的原因,从未解释如何构建自己的异步方法来使用.所以我现在有这个代码消耗我的方法:

private async void button1_Click(object sender, EventArgs e)
{
    var now = await CountToAsync(1000);
    label1.Text = now.ToString();
}
Run Code Online (Sandbox Code Playgroud)

我写的这个方法是CountToAsync:

private Task<DateTime> CountToAsync(int num = 1000)
{
    return Task.Factory.StartNew(() =>
    {
        for (int i = 0; i < num; i++)
        {
            Console.WriteLine("#{0}", i);
        }
    }).ContinueWith(x => DateTime.Now);
}
Run Code Online (Sandbox Code Playgroud)

这是使用Task.Factory,编写异步方法的最佳方法,还是应该用另一种方式编写?

c# async-await c#-5.0

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

Powershell中的Git说'找不到ssh-agent'

我安装了git,它在命令提示符下工作得很好,但是当我打开powershell时它给了我这个警告:

WARNING: Could not find ssh-agent
Run Code Online (Sandbox Code Playgroud)

我有选美运行并加载了我的私钥.这适用于所有gui工具和命令提示符,但不适用于Powershell.

这是怎么回事?

git ssh

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

可以编译Razor视图吗?

我想知道是否可以编译Razor视图,比如基于WebForm的视图?

编译Razor视图甚至是有意义的,为什么有人想这样做呢?

asp.net-mvc compilation razor asp.net-mvc-3

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

C#中的HttpClient Multipart Form Post

我正在尝试使用C#中的HttpClient进行多部分表单发布,并且发现以下代码不起作用.

重要:

var jsonToSend = JsonConvert.SerializeObject(json, Formatting.None, new IsoDateTimeConverter());
var multipart = new MultipartFormDataContent();
var body = new StringContent(jsonToSend, Encoding.UTF8, "application/json");

multipart.Add(body);
multipart.Add(new ByteArrayContent(File.ReadAllBytes("test.txt")), "test", "test.txt");

var httpClient = new HttpClient();
var response = httpClient.PostAsync(new Uri("http://localhost:55530"), multipart).Result;
Run Code Online (Sandbox Code Playgroud)

完整计划:

namespace CourierMvc.Worker
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                Console.WriteLine("Hit any key to make request.");
                Console.ReadKey();

                try
                {
                    var request = new RestRequest(Method.POST)
                    {
                        Resource = "http://localhost:55530"
                    };

                    var json = new CourierMessage
                    {
                        Id = …
Run Code Online (Sandbox Code Playgroud)

c# dotnet-httpclient

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

遵循精灵的XNA 2D相机引擎

在XNA游戏中创建视差效果的最佳方法是什么?我希望相机能够跟踪我的精灵,因为它在世界各地移动,这样我就可以构建缩放,平移,摇动和其他效果等效果.任何人都有一个很好的例子说明如何做到这一点,最好是在GameComponent中?

c# xna camera sprite

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

什么应该在2D游戏引擎?

好的,所以我最终编写了基于XNA的自己的游戏引擎,我只是想知道我还需要什么来制作一个完整的引擎.

这就是引擎中的内容:

  • 物理学(Farseer Physics)
  • 粒子引擎(Mercury Project)
  • 2D相机
  • 输入处理
  • 屏幕管理(菜单,暂停屏幕等)
  • 精灵(动画,精灵表)
  • 而XNA就像Sound一样.

我错过了任何可能对游戏引擎至关重要的东西吗?

c# xna

31
推荐指数
5
解决办法
8238
查看次数

如何在MVC3中使用https生成绝对URL?

我正在使用MVC3并尝试从https提供内容,问题是当我调用Url.Content时,仍然使用相对URL从http提供文件.我认为这个问题在MVC3中得到了解决,但我似乎无法找到任何解决方案.有没有人知道这个问题是否在MVC3中固有地解决了以及如何实现它或者我是否需要创建自己的辅助方法来生成基于协议的绝对Url?

asp.net asp.net-mvc https routes asp.net-mvc-3

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

ServiceStack验证并不总是被激活

所以我试图用RavenDB和ServiceStack构建一个End To End集成测试套件,但是我遇到了一个非常奇怪的问题,即验证不能在某些请求上运行.这真的很奇怪,我不确定我做错了什么.我正在使用NCrunch.有时测试通过,有时它会失败.

希望这是一个简单的解决方案,我正在做的事情.

您可以在http://github.com/khalidabuhakmeh/endtoend上下载整个项目

除了VS2012和NuGet Package Restore之外,您不需要任何其他功能.

更新:我决定在NCrunch和Resharper Test Runner中运行它,两者都给出相同的结果[见下图].

更新更新:我认为它可能是XUnit,所以我尝试使用NUnit.不,还是同样的问题.

从NCrunch和Resharper测试运行

**另一个更新:根据user1901853的请求输入控制台写入.这就是结果."

试运行2

最新更新:RequestFilters正在逐渐消失,我不知道为什么.看起来它可能是一个线程问题,但我看不到在哪里.

我的AppHost正在使用AppHostListenerBase.

    using EndToEnd.Core;
    using Funq;
    using Raven.Client;
    using ServiceStack.ServiceInterface.Validation;
    using ServiceStack.WebHost.Endpoints;

    namespace EndToEnd
    {
        public class TestAppHost
            : AppHostHttpListenerBase
        {
            private readonly IDocumentStore _documentStore;

            public TestAppHost(IDocumentStore documentStore)
                : base("Test AppHost Api", typeof(TestAppHost).Assembly)
            {
                _documentStore = documentStore;
            }

            public override void Configure(Container container)
            {
                ServiceStack.Text.JsConfig.EmitCamelCaseNames = true;

                // Register RavenDB things
                container.Register(_documentStore);
                container.Register(c =>
                {
                    var db = c.Resolve<IDocumentStore>();
                    return db.OpenSession();
                }).ReusedWithin(ReuseScope.Request);

                Plugins.Add(new ValidationFeature());
                container.RegisterValidators(typeof(CreateWidgetValidator).Assembly); …
Run Code Online (Sandbox Code Playgroud)

.net c# servicestack

16
推荐指数
1
解决办法
1369
查看次数

XNA 2D游戏引擎

我刚刚回到游戏开发阶段,我对XNA印象非常深刻.我唯一的问题是我想要一个基于免费社区的2D游戏引擎,以便我可以利用社区的力量.有没有人知道目前正在支持的XNA 2d游戏引擎还是我必须自己编写一个?

xna 2d

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

NHibernate IQueryable集合作为root的属性

我有一个根对象,其属性是一个集合.

例如:

I have a Shelf object that has Books.

// Now
public class Shelf 
{
    public ICollection<Book> Books {get; set;}
}

// Want 
public class Shelf 
{
   public IQueryable<Book> Books {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我想要完成的是返回一个IQueryable的集合,这样我就可以直接从父节点运行分页和过滤集合.

var shelf = shelfRepository.Get(1);

var filtered = from book in shelf.Books
               where book.Name == "The Great Gatsby"
               select book;
Run Code Online (Sandbox Code Playgroud)

我希望NHibernate专门执行该查询,而不是全部加载整个集合,然后在内存中解析它(这是我使用ICollection时当前发生的事情).

这背后的原因是我的收藏可能是巨大的,成千上万的记录,并且获取所有查询可能会破坏我的数据库.

我想隐含地这样做,以便当NHibernate在我的课上看到IQueryable时它知道该怎么做.

我查看了NHibernate的LINQ提供程序,目前我正在决定采用大型集合并将它们拆分到自己的存储库中,以便我可以显式调用过滤和分页.

LINQ To SQL提供类似于我所说的内容.

c# nhibernate domain-driven-design fluent-nhibernate

14
推荐指数
1
解决办法
4539
查看次数