小编Pat*_*key的帖子

使用WPF退出时出现COM异常

执行以下两个测试用例后,将向控制台打印COM执行.我究竟做错了什么?

如果我单独运行任一测试,或者如果我同时运行两个测试,则会将异常写入控制台一次.这让我怀疑是否存在某种我不会清理的每AppDomain资源.

我已尝试使用NUnit和MSTest进行测试,在两种环境中都具有相同的行为.(实际上,我不确定在MSTest中运行这两个测试是否会导致一个或两个异常打印输出.)

例外:

System.Runtime.InteropServices.InvalidComObjectException: COM object that has been separated from its underlying RCW cannot be used.
at System.Windows.Input.TextServicesContext.StopTransitoryExtension()
at System.Windows.Input.TextServicesContext.Uninitialize(Boolean appDomainShutdown)
at System.Windows.Input.TextServicesContext.TextServicesContextShutDownListener.OnShutDown(Object target)
at MS.Internal.ShutDownListener.HandleShutDown(Object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)

测试代码:

using NUnit.Framework;

namespace TaskdockSidebarTests.Client
{
    [TestFixture, RequiresSTA]
    public class ElementHostRCWError
    {
        [Test]
        public void WinForms()
        {
            var form = new System.Windows.Forms.Form();
            var elementHost = new System.Windows.Forms.Integration.ElementHost();
            form.Controls.Add(elementHost);

            // If the form is not shown, the exception is not printed.
            form.Show();

            // These lines are optional. The exception is …
Run Code Online (Sandbox Code Playgroud)

c# com wpf rcw

13
推荐指数
1
解决办法
2962
查看次数

Windows网络共享上的svn存储库

多台计算机是否可以同时访问存储在共享文件系统上的svn存储库?

我正在构建一个应用程序,其中每个Windows客户端计算机都有一组本地工作文件,并且可以定期与团队的其他成员同步.从服务器的角度来看,除了Windows共享挂载点之外,我不想依赖任何东西.svn file:// URL协议是否支持共享文件系统,还是假设文件系统是本地的?

颠覆文档提到与BDB和FSFS问题在Win9x的环境,但它不是我清楚库是否不同时通过文件访问:// URL是在最近版本的Windows安全(或其他操作系统,对于这个问题).

编辑 我正在构建的应用程序将直接使用svn,因此如果它允许安全的并发共享协作环境,我愿意构建一个相对受限的环境.

svn filesystems berkeley-db network-share fsfs

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

Graphite:总结与模式匹配的所有统计数据?

我正在通过发送统计信息到Graphite服务器statsd.我的统计数据相当精细,开发人员可以轻松添加.我想汇总匹配某种模式的所有统计数据(stats.timers.api.*.200.count例如).Graphite中有可能吗?

如果没有,是否有其他我应该关注的系统可以从中生成这种类型的汇总数据statsd?或者这是我应该在我的statsd配置中直接做的事情?

graphite statsd

9
推荐指数
1
解决办法
7033
查看次数

如何加速从C#生成Word文件?

我正在开发一个生成相对大量Word输出的应用程序.目前,我们使用Word Interop服务来创建文档,但速度很慢,尤其是在旧版(2007年之前)版本的Office中.我们想加快这一代人.

我还没有做过很多分析,但我非常有信心问题是我们正在进行大量的COM调用.我希望分析会产生一个比其他调用慢的调用子集,但我的直觉告诉我,这可能是COM开销(或Word Interop开销)的问题,而不仅仅是一些慢速调用.

此外,该产品可以生成HTML输出,并且该过程(a)非常快,并且(b)使用几乎相同的代码路径,只是针对特定于HTML的功能部件使用不同的子类.所以我很确定我们的算法基本上没有慢.

所以......我正在寻找有关加速Word文件生成的其他方法的建议.

我们不能只将生成的HTML文件重命名为.doc,而我们无法生成RTF - 在这两种情况下,重要的格式信息都会丢失,而在RTF情况下,内联图形无法正常工作.

我们正在评估的方法之一是以编程方式从模板生成和打开Word文件(通过互操作),该模板具有一个知道如何使用平面文件并创建必需输出的宏.我们对这种方法的反馈感兴趣,以及加快速度的任何其他想法.

c# office-interop

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

C#/ Visual Studio:生产和测试代码放置

在JavaLand中,我习惯于创建包含生产和测试代码的项目.我喜欢这种做法,因为它简化了内部代码的测试,而没有人为地暴露项目发布的API中的内部.

到目前为止,根据我使用C#/ Visual Studio/ReSharper/NUnit的经验,我为生产和测试代码创建了单独的项目(即单独的DLL).这是成语,还是我不在基地?如果这个惯用正确,那么处理为测试目的公开类和方法的正确方法是什么?

谢谢,

-Patrick

c# unit-testing visual-studio

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

如何使用唯一且稳定的标识符访问 Outlook 邮件?

我正在构建一个应用程序来分析 Outlook 电子邮件,存储分析的信息,然后允许用户打开满足特定条件的邮件。

我希望我会从每封电子邮件中提取 Message-ID,将其存储在我的数据库中,然后通过稍后向 Outlook 提供 Message-ID 来要求 Outlook 打开一条消息。但是,我似乎错过了一些东西。

通过 Outlook 互操作 API,我可以获得一个 EntryID,但据我所知,EntryID 只能保证在给定的文件夹(或者可能是给定的商店)中稳定。如果将邮件移动到不同的文件夹,则 EntryID 可能会更改。此外,API 要求在通过 EntryID 查找消息时提供 StoreID。同样,如果消息在存储之间移动,则该信息可能是无效的。

我见过很多与 Office 相关的产品,它们似乎具有我上面描述的功能。如何高效查找 Outlook 可访问的邮件,而不管商店等如何?

目前,我的备份计划是为我扫描的每个 Message-ID 存储 EntryID 和 StoreID 信息,然后尝试我为给定 MessageID 记录的所有各种 EntryID/StoreID 组合,直到成功为止。但这似乎是 Outlook 应该已经知道如何为我完成的工作。

谢谢,

-帕特里克

c# office-interop outlook-object-model

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

如何强制安装Xcode 4.3?

我已经阅读了许多关于Xcode 4安装问题的现有StackOverflow问题,但它们都不符合我的配置.

我开始使用MacBook Air,应用程序从较旧的MacBook Pro中吸取.在迁移过程中,似乎Xcode.app被拉过来了,但是/ usr/include和朋友们都被抛在后面.

所以,我之前尝试从应用程序商店安装Xcode,除了几分钟的"安装"之外没有任何反馈,没有状态,也没有明显的网络负载.我关闭了(电池电量耗尽)并稍后再次尝试 - 同样的行为.

然后,我跑去sudo /Developer/Library/uninstall-devtools --mode=all清理,重新启动,然后再次尝试.现在,当我点击应用程序商店中的"安装"按钮时,系统会提示我输入凭据,我在窗口左上角看到一个小旋转器,并且UI恢复到原始状态("安装"作为选项,等等.随后点击"安装"会触发微调器一秒钟,但没有其他明显的副作用.

我是否应该执行任何其他仪式来清理我的计算机中的任何无效状态,以便我可以重新安装Xcode以便我可以获得/ usr/include等,以便我可以再次开始编译?

xcode4.3

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

iPad UISplitView初始状态:如何显示popover控制器小部件?

我正在使用一个使用UISplitView的iPad应用程序.灵感来自http://blog.blackwhale.at/2010/04/your-first-ipad-split-view-application/,当我在纵向模式下显示弹出控制器时,我在详细视图中显示一个按钮.这非常有效.但是,只有在设备旋转时才会发送相应的UISplitViewControllerDelegate消息.因此,当应用程序首次加载时(纵向模式),我的导航按钮不可见.

是否有可能以某种方式说服UISplitViewController在加载或某事上发送该消息,或者我是否需要重新实现我自己的popover逻辑才能使事情正常工作?

谢谢,

-Patrick

ipad uisplitviewcontroller

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