小编Tom*_*Tom的帖子

Async/await vs BackgroundWorker

在过去的几天里,我测试了.net 4.5和c#5的新功能.

我喜欢它的新async/await功能.之前我曾使用BackgroundWorker通过响应式UI在后台处理更长的进程.

我的问题是:在拥有这些不错的新功能之后,我何时应该使用async/await和什么时候使用BackgroundWorker?两者的常见情况是什么?

c# backgroundworker task-parallel-library async-await .net-4.5

154
推荐指数
5
解决办法
8万
查看次数

C#中的高性能TCP服务器

我是一名经验丰富的C#开发人员,但到目前为止我还没有开发过TCP服务器应用程序.现在我必须开发一个高度可扩展的高性能服务器,它可以处理至少5-10万个并发连接:通过GPRS从GPS设备获取字节数据.

常见的通信过程应如下所示:

  • GPS设备启动与我的服务器的连接
  • 如果我想获取数据,我的服务器会回答
  • 设备发送GPS数据
  • 我的服务器向设备发送有关获取它的报告(例如校验和)
  • 从GPS获取新数据,报告并且这种情况一次又一次地发生
  • 以后GPS DEVICE关闭连接

所以,在我的服务器中我需要

  • 跟踪连接/活动客户端
  • 从服务器端关闭任何客户端
  • 当设备关闭连接时捕获事件
  • 获取字节数据
  • 将数据发送给客户

我开始通过互联网阅读这个主题,但对我来说这似乎是一场噩梦.有很多方法,但我找不出哪个是最好的.

异步套接字方法对我来说似乎是最好的,但是以这种异步方式编写代码非常糟糕且不易调试.

所以我的问题是:您认为在C#中实现高性能TCP服务器的最佳方式是哪种?你知道任何好的开源组件吗?(我尝试了几个,但我找不到一个好的.)

c# tcp scalable

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

导航栏从我的故事板项目中消失了

从一天到另一天,导航栏从我在XCode 4.6.2中的故事板项目中消失了.我无法恢复它们(清洁,重建,关闭,重新开放等)

在我的设备或模拟器上运行我的应用程序时,一切正常,导航栏就在那里.但是我在设计时在故事板上需要它们,我有按钮,标签那些必须现在改变.(请不要建议从代码中执行此操作,我想以图形方式在故事板上执行此操作,我认为这就是为什么它存在)

如何取回导航栏?我希望解决方案不会像我在某些地方读到的那样再删除/再做一遍,因为我有几十个导航控制器.

提前致谢!

xcode storyboard uinavigationcontroller ios

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

目标c中的第一个参数名称?

我有一个方法:

- (void)pan:(double)lat longitude: (double) lon{...}

当我调用它时Xcode显示如下:

[self pan:(double) longitude:(double)]

是不是可以设置第一个参数,像第二个(longitude),Xcode可以这样显示:

[self pan: latitude:(double) longitude:(double)]

在调用时我无法看到第一个参数的名称,这让我非常讨厌.这是我的错还是不可能?

parameters syntax message objective-c

21
推荐指数
3
解决办法
8132
查看次数

禁用UISearchBar

我有一个 - 我希望 - 非常简单的问题:如何在IOS5中禁用UISearchBar以避免用户交互?我找不到setEnabled或类似的东西......

谢谢!

xcode objective-c uisearchbar ios ios5

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

Windows商店应用中的计时器在哪里?

在c#中开发Windows应用商店应用时,我找不到Timer.它的替代/新名称/使用方式是什么?

c# timer windows-store-apps

17
推荐指数
2
解决办法
9704
查看次数

从.NET调用Python

我有一些用Python编写的代码,不能转换为.NET语言.我需要从.NET WinForms应用程序中调用其中一个函数.

现在,我通过将Python脚本作为单独的进程启动并将参数作为命令行参数传递给它来实现.它有效,但我不喜欢这个解决方案.我想将它改进为更好的一个.

有没有更好的方法.py从.NET应用程序调用脚本的功能?最好的方法是什么?

注意:IronPython不是此Python脚本的选项

.net c# python python.net

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

将数据传递回上一个控制器

我在故事板中有两个控制器,嵌入在NavigationController中,并且有一个segue可以在这些控制器之间切换.

通过实现prepareForSegue,将数据从第一个控制器传递到第二个控制器非常简单,并使用segue.destinationViewController设置第二个控制器的属性.

我应该将数据传回第二个控制器到前一个控制器.我用Google搜索,但我没有找到任何简单但有效的代码来演示它.

你会这么善良,给我一个关于最佳方法的简单样本吗?

提前致谢!

controller objective-c storyboard ios5

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

为什么我的时区没有保存到我的NSDate中?

我必须在objective-c中从NSString初始化一个NSDate对象.我是这样做的:

NSString *dateString = [[webSentence child:@"DateTime"].text stringByReplacingOccurrencesOfString:@"T" withString:@" "];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-mm-dd HH:mm:ss"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"Europe/Budapest"]];

NSDate *date = [[NSDate alloc] init];
date = [dateFormatter dateFromString:dateString];
Run Code Online (Sandbox Code Playgroud)

例如:当我尝试使用字符串值@"2011-01-02 17:49:54"时,我得到一个NSDate 2011-01-02 16:49:54 +0000.如您所见,这两个值之间存在一小时的差异.NSDate有一个错误的值,它应该与我在dateFormatter中设置的时区中的字符串中定义的完全相同.它似乎使用我的日期将字符串定义为UTC,即使我将其时区设置为"Europe/Budapest".我该如何解决这个问题?

谢谢!

timezone objective-c nsdate nsdateformatter

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

如何在IOS中将UIBarButtonItem设置为弹出窗口的锚点?

我在我的iPad应用程序中显示一个弹出控制器:

[self.programMapPopOver presentPopoverFromRect:anchor.frame
                        inView:anchor.superview
                        permittedArrowDirections:UIPopoverArrowDirectionAny 
                        animated:YES];
Run Code Online (Sandbox Code Playgroud)

我的问题是锚:我想设置一个UIBarButtonItem*作为它的锚点,但它不是UIView*,但是inView是一个view*参数.

我怎么解决这个问题?

谢谢大家!

popover uibarbuttonitem ipad ios

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