将unit testing写入assembly或单独的assembly中?

在编写unit testing时,您是否将测试放在要测试的组件内或单独的测试组件中? 我已经在一个单独的程序集中编写了一个带有测试的应用程序,以便于部署,因为我可以排除程序集。 有没有人在你想测试的程序集中写那些测试,如果有的话,它的理由是什么?

如何在WP7芒果上播放UDP数据包?

我想从手机发送UDP数据包到有限的广播地址(IPAddress.Broadcast = 255.255.255.255)。 这是我到目前为止,它适用于Windows应用程序: Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true); byte[] data = Encoding.UTF8.GetBytes(“test data”); SocketAsyncEventArgs a = new SocketAsyncEventArgs(); a.RemoteEndPoint = new IPEndPoint(IPAddress.Broadcast, 11000); a.SetBuffer(data, 0, data.Length); a.Completed += new EventHandler(delegate(object s, SocketAsyncEventArgs e) { Console.WriteLine(e.SocketError); }); socket.SendToAsync(a); 需要SetSocketOption调用以防止“拒绝访问”exception。 不幸的是,WP7似乎没有这种方法。 App Hub社区站点上提供的UDP示例代码使用多播来实现类似的结果,但我尝试联系的设备无法处理多播。 有没有办法在芒果上做这种广播?

.NET库用于打印PDF文件

我在一个可以接受已经创建的PDF文件并直接发送到打印机的库之后。 我不希望用户需要安装Adobe Reader或其他任何东西,应用程序将生成PDF并且我想要打印它。

有没有办法通过代码自动打开或关闭BizTalk接收位置?

有没有办法自动打开或关闭BizTalk中的接收位置? 似乎应该有某种API或某些类似的东西。 我更喜欢在C#中工作,但WMI或某种脚本也可以工作。

Windows 10 Styled ContextMenuStrip

有没有办法使用Visual Studio和Windows 10样式的窗体创建ContextMenuStrip。 我知道,它的渲染器可以改变,看起来像Windows Vista,7和8.这就是我所做的: 但我也希望在Windows 10中看起来像这样: 有没有办法使用Windows Forms,或者应该以某种特殊的方式,使用Metro类等?

将XML文档转换为字典

我不需要编辑任何XML文件或任何东西,这只是用于阅读和解析。 我希望能够将XML文档作为字典处理,例如: username = doc[“username”]; ,但我无法找到如何“转换”文件。 我也遇到了重复键名的问题,但通过将每个值附加为1,2等可以很容易地避免这种情况。 也很容易循环。 这可能吗? 将(已解析的)XML文档视为字典? 对Mehrdad的回答:它有时会有所不同,这取决于用户的要求。 如果用户请求x ,那么它将是: foo 123 foobar 但如果他要求y ,那就像 1000 …@… foobar 最好的是这样: 100 3 foo bar bar ” 可以解析,然后以doc[“mengde”]等方式进行访问。

ASP.NET长时间运行的任务。 线程正在中止exception

ASP.NET 3.5 webapp必须启动几个需要几个小时才能完成的任务。 出于显而易见的原因,启动这些任务的页面不能等待它们完成,也不会有任何人想要等待那么长时间来获得响应,因此任务必须是异步的。 有一个Helper类来处理所有这些长时间运行的任务。 调度和执行这些任务的主要方法目前如下: public static bool ScheduleTask(TaskDescriptor task, Action action) { bool notAlreadyRunning = TasksAsync.TryAdd(task); if (notAlreadyRunning) { Thread worker = null; worker = new Thread(() => { try { action(); } catch(Exception e) { Log.LogException(e, “Worker”); } TasksAsync.RemoveTask(task); workers.Remove(worker); }); workers.Add(worker); worker.Start(); } return notAlreadyRunning; } 在早期的实现中,我们使用了ThreadPool.QueueUserWorkItem方法,但结果始终是相同的:在aprox之后。 20-30分钟一个线程被中止exception被抛出。 有谁知道为什么会这样? 或者如何预防? 更多信息: […]

如何为字典编写getter和setter?

如何为复杂数据类型(如字典)定义getter和setter? public Dictionary Users { get { return m_Users; } set { m_Users = value; } } 这会返回整个字典吗? 你能编写setter来查看是否存在特定的键值对,然后如果不存在,则添加它。 否则更新当前的键值对? 对于get,您可以返回特定的键值对而不是整个字典吗?

.NET中的进程间通信

我有一个核心.NET应用程序,需要产生一个子进程的abitrary数量。 这些进程需要能够访问核心应用程序中的某种forms的状态对象。 什么是最好的技术? 我将在进程(位图)之间移动大量数据,因此需要快速。

使用ImageResizer的Azure C#WebJob未正确设置Content-Type

我正在使用Azure WebJob来调整新上传的图像的大小。 resize有效,但新创建的图像没有在Blob存储中正确设置其内容类型。 相反,它们列在application / octet-stream中。 这里处理resize的代码: public static void ResizeImagesTask( [BlobTrigger(“input/{name}.{ext}”)] Stream inputBlob, string name, string ext, IBinder binder) { int[] sizes = { 800, 500, 250 }; var inputBytes = inputBlob.CopyToBytes(); foreach (var width in sizes) { var input = new MemoryStream(inputBytes); var output = binder.Bind(new BlobAttribute($”output/{name}-w{width}.{ext}”, FileAccess.Write)); ResizeImage(input, output, width); } } […]