我正在尝试创建一个与我的图表工具一起使用的管理器类,问题是我使用的工具,对3d和2d图表使用相同的名称,当我尝试添加2d库时导致模糊引用.任何想法如何最好地解决这个问题?
例如,
using tool.2dChartLib;
using tool.3dChartLib;
Run Code Online (Sandbox Code Playgroud)
BorderStyle是这两者的成员
我已经尝试过使用BorderStyle的区域.我想它可以工作,如果我只是参考,tool
但那意味着我将有数百tool.class
行代替class
我正在为WinForms应用程序编写查询管理器,除其他外,它需要能够在用户输入查询时向用户提供实时搜索结果(想想Google的实时结果,尽管很明显在厚客户端环境而不是Web).由于结果需要在用户输入时开始到达,搜索将变得越来越具体,所以我希望能够在用户输入更具体的信息时仍然执行时取消查询(因为结果会无论如何,只是被丢弃).
如果这是普通的ADO.NET,我显然可以使用该DbCommand.Cancel
函数并完成它,但我们使用EF4进行数据访问,并且似乎没有明显的方法来取消查询.另外,在Reflector中打开System.Data.Entity并查看EntityCommand.Cancel
显示一个令人沮丧的空方法体,尽管文档声称调用它会将其传递给提供者命令的相应Cancel
函数.
我已经考虑过简单地让现有的查询运行并启动一个新的上下文来执行新的搜索(一旦完成就处理现有的查询),但我不喜欢单个客户端有多个开放的想法当我只对最近的结果感兴趣时,运行并行查询的数据库连接.
所有这一切都让我相信,一旦将EF查询分派到数据库中就没有办法取消EF查询,但是我希望这里的某个人能够指出我忽略的东西.
TL/DR版本:是否可以取消当前正在执行的EF4查询?
我正在开发一个使用MSMQ进行进程间通信的应用程序,我需要安装项目才能安装该服务(如果尚未安装).我已经查看了有关使其成为先决条件的信息,但到目前为止,我一直未能找到这个.有任何想法吗?
我正在尝试使用非提升的进程启动提升的进程,但我还需要为具有管理凭据的用户提供用户名和密码.我已尝试过"runas"
提升方法以及使用清单,但两者都会产生不同的错误.
例如,如果我这样做(不使用需要提升的清单):
ProcessStartInfo info = new ProcessStartInfo(path);
info.UseShellExecute = false;
info.UserName = username;
info.Password = securePwd;
info.Domain = "MyDomain";
info.Verb = "runas";
var proc = Process.Start(info);
Run Code Online (Sandbox Code Playgroud)
该过程在不显示UAC确认对话框的情况下启动,并在尝试执行需要管理员权限的命令时失败(我只是尝试将测试文件写入Program Files目录).
如果我向目标应用程序添加一个表明它需要提升的清单,那么我得到一个Win32Exception
说明该操作需要提升的说明.
问题似乎是设置UseShellExecute
为false
(因为这两种方法都不正常),但我必须将其设置为false才能在不同的用户帐户下启动该进程.
如何从非提升的流程启动提升的流程并手动提供用户名和密码?
BOUNTY EDIT:虽然不能要求用户输入管理员凭据,但完全可以接受UAC nag对话框.我不想在这里绕过UAC.
出于习惯,我倾向于在未嵌套时将类/结构/枚举放在单独的文件中.
对于代表来说,为一个班轮创建一个单独的文件似乎有点过分:
public delegate string MyDelegateThatIsNotNestedInAnyClass ( string par );
Run Code Online (Sandbox Code Playgroud)
我通常将它添加到最密切相关的类文件的底部.我只是想知道其他人在做什么?
在传统的Visual Studio部署项目安装程序中,传递指定值的命令行参数TARGETDIR
允许我覆盖默认安装位置(我的大多数安装都是在没有用户交互的情况下进行的,因此大量使用命令行自动化).但是,我得到的印象是WiX(默认情况下)TARGETDIR
用于不同的东西.虽然我可以(并且将会)更新我们的命令行工具来更改参数名称,但仍然需要手动触摸所有现有的安装(非常重要的工作).
有没有办法通过指定TARGETDIR
而不破坏任何东西来覆盖WiX包中的安装位置?
虽然我意识到我可以在屏幕外显示表单并隐藏它,以及许多其他形式的WinForms hackish魔法,我宁愿坚持使用zen路径并完成正确的操作.我有一个SSRS本地报告(所以没有服务器),我想让用户选择查看或打印(换句话说,我不想强迫他们查看打印).不幸的是,当我尝试将它打印为我在代码中显式创建的组件(当然是在using()块内部时)或者如果我尝试实例化我的查看器表单时,ReportViewer控件会抱怨它的"状态".只是打印而不显示它.
有没有办法做到这一点,能与我好好相处,还是我应该把它展示在屏幕外并继续我的生活?
我想返回自特定日期以来新用户的数量.
Users表具有:UserID,username,dateJoined.
SELECT COUNT(USERID)
FROM Users
where dateJoined > @date
Run Code Online (Sandbox Code Playgroud)
如何看待linq-to-sql?
你能用关键字COUNT吗?
我有一组非常简单的样式,我在几个不同的WPF应用程序中使用.我将这种样式存储在一个普通项目的Xaml文件中,然后通过合并到每个项目的Resources
in App.xaml
中来添加.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity">
<Style TargetType="dxe:ComboBoxEdit">
<Setter Property="AutoComplete" Value="True" />
<Setter Property="IncrementalFiltering" Value="True" />
<Setter Property="ImmediatePopup" Value="True" />
<Setter Property="IsTextEditable" Value="True" />
<Setter Property="ClearSelectionOnBackspace" Value="True" />
</Style>
<Style TargetType="dxe:ComboBoxEditSettings">
<Setter Property="AutoComplete" Value="True" />
<Setter Property="IncrementalFiltering" Value="True" />
<Setter Property="ImmediatePopup" Value="True" />
<Setter Property="IsTextEditable" Value="True" />
</Style>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)
不幸的是,关于这个问题引起了XamlParseException
关于TargetType
属性的问题,但是只有在未附加到调试器时才会出现.如果我在调试器中启动应用程序,一切都很好.如果我"开始没有调试",我得到这个App.xaml
正在加载:
System.Windows.Markup.XamlParseException: 'Failed to create a 'TargetType' from the text 'dxe:ComboBoxEdit'.' Line number '5' and line position '12'. ---> …
Run Code Online (Sandbox Code Playgroud) 我试图通过iCal发布专有软件日历(使用DDay.iCal软件包,如果这很重要),以便客户可以在他们的手机或平板电脑上(或任何其他支持iCal的软件中查看他们的约会,例如Outlook或Google日历).不幸的是,似乎iCal规范为这些消费者未使用的许多字段提供了支持(例如评论,状态,类别,类等),而现在我正在黑暗中拍摄试图支持什么以及它在设备上显示的位置.
Apple(或Google或Microsoft)是否发布了他们支持的iCal字段列表?