Tag: .net

为什么TransactionScope不能与Entity Framework一起使用?

请参阅下面的代码。 如果我初始化多个实体上下文,那么我只在第二组代码上得到以下exception。 如果我注释掉第二组就行了。 {“底层提供商在Open上失败。”} 内部:{“与底层事务管理器的通信失败。”} 内部:{“错误HRESULT E_FAIL已从调用COM组件返回。”} 请注意,这是一个示例应用程序,我知道连续创建2个上下文没有意义。 但是,生产代码确实有理由在同一个TransactionScope创建多个上下文,并且无法更改。 编辑 这是我之前尝试设置MS-DTC的问题。 似乎在服务器和客户端上都启用了它。 我不确定它是否设置正确。 另请注意,我尝试这样做的原因之一是TransactionScope中的现有代码使用ADO.NET和Linq 2 Sql …我希望那些也使用相同的事务。 (这可能听起来很疯狂,但如果可能,我需要让它工作)。 如何在C#中使用TransactionScope? 解 Windows防火墙阻止了与MS-DTC的连接。 using(TransactionScope ts = new System.Transactions.TransactionScope()) { using (DatabaseEntityModel o = new DatabaseEntityModel()) { var v = (from s in o.Advertiser select s).First(); v.AcceptableLength = 1; o.SaveChanges(); } //-> By commenting out this section, it […]

如何测试一个值是否在C#/ .NET中装箱?

我正在寻找一种编写代码来测试值是否已装箱的方法。 我的初步调查表明,.NET IsValueType一切地隐瞒事实,这意味着GetType()和IsValueType不会显示盒装值和未装箱值之间的差异。 例如,在下面的LinqPad C#表达式中,我相信o1是盒装的,而i1不是盒装的,但是我想用一种方法在代码中测试它,或者,第二个最好的方法,在看任何时候知道它的确定变量或值,即使它的类型是“动态”或“对象”,无论是盒装还是不盒装。 任何建议? // boxed? — no way to tell from these answers! object o1 = 123; o1.GetType().Dump(“o1.GetType()”); o1.GetType().IsValueType.Dump(“o1.GetType().IsValueType”); // not boxed? — no way to tell from these answers! int i1 = 123; i1.GetType().Dump(“i1.GetType()”); i1.GetType().IsValueType.Dump(“i1.GetType().IsValueType”);

制作方形图像

如何将图像重新取样为方形,在c#中使用白色背景填充而不使用任何第三方库(仅限.Net框架)? 谢谢!

如何使.NET Windows服务检测登录,注销和切换用户事件?

我需要在Windows XP SP3上跟踪用户中的当前用户(使用控制台的用户)。 我尝试了以下方法: Microsoft.Win32.SystemEvents.SessionSwitch:适用于单个登录/注销事件,但无法检测切换用户。 如果发生以下情况: userA登录 userA切换用户 userB登录 userB注销 userA恢复会话 SystemEvents.SessionSwitch未检测到事件3和4 监视“安全”事件日志:事件不一致并且无序到达。 例如,如果重播上面的列表,我会在恢复会话后收到事件ID 528(登录),然后是userA的两个538(Logoff)。 检查event.TimeGenerated没有帮助。 如果在SecPol.msc上禁用审核,则此方法也不起作用。 P /调用WTSRegisterSessionNotification:工作正常。 我必须创建一个隐藏的表单,覆盖其WndProc以处理WM_WTSSESSION_CHANGE消息,然后调用WTSQuerySessionInformation以获取与该事件关联的用户名。 这种方法看起来太复杂了,有没有更简单的方法? 编辑: 每n毫秒调用WTSGetActiveConsoleSessionId也可以,但我正在寻找一个基于事件的方法。

开发一个在.NET后台运行的程序?

我在C#中创建了一个小程序,我希望在后台运行它,它只应在按下某个键组合时出现。 我怎样才能做到这一点?

ASP.Net版本/内部版本号

我有一个ASP.Net(.net 3.5 / c#),我想显示版本号/内部版本号和日期。 控制此问题的最佳方法是什么?是否可以在构建时自动生成数字? 版本号和内部版本号的标准是什么? 我使用VS 2008如何获取数据并分配给字符串值,以便我可以在网页的页脚中显示?

Windows 7风格的Dropshadow采用无边框forms

精简版: 目标: C#中无边界WinForm中的深色,黑暗,Windows 7阴影 已知的现有解决方案1:使用CreateParams的简单XP风格的阴影。 问题:太弱,太轻,太难看。 已知的现有解决方案2:用位图替换forms的GDI。 问题:失去使用控件的function,仅作为启动画面使用。 这篇文章的目标:找到这个问题的中位数解决方案或者更好的解决方案。 。 。 。 长版: (编辑:我指的是沿着任何窗体边界的阴影,如果不清楚的话。)我知道有一种方法可以在C#中使用以下方法制作XP风格的阴影: C#Code 1 – 简单的XP风格的阴影(问题:轻,弱,丑) // Define the CS_DROPSHADOW constant private const int CS_DROPSHADOW = 0x00020000; // Override the CreateParams property protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ClassStyle |= CS_DROPSHADOW; return cp; } } 但是,我试图弄清楚如何使它们看起来像Windows 7中的做(更深和更大的阴影),并且无法找出这样做的最佳方式。 我现在创建了一个方法,它可以让我覆盖整个表单GDI,看起来就像一个启动画面(不是我的信用): […]

不同的应用程序设置取决于配置模式

是否有人知道我可以在.Net应用程序中设置应用程序当前开发模式的应用程序(或用户)级别设置? IE:调试/发布 更具体地说,我有一个url引用我的应用程序设置中保存的webservices。 在发布模式期间,我希望这些设置在调试模式期间指向http://myWebservice.MyURL.com我希望这些设置为http://myDebuggableWebService.MyURL.com 。 有任何想法吗?

我可以使用Office Web Apps Server吗?

我想在办公室的浏览器中建立一个文件管理系统。 我找到了这个解决方案http://www.edrawsoft.com/officeviewer.php,但它使用了办公室的客户端副本。 我想使用Office Web Apps,但我的问题是……我是否需要通过SharePoint或其他Microsoft产品使用它,或者我是否可以将浏览器中的Office Web Apps用于我自己的文档系统

使用Reflection.Emit创建实现接口的类

我需要使用Reflection.Emit生成一个实现以下接口的类。 public interface IObject { T Get(string propertyName); } 有没有人有一个例子,我将如何发出以下作为一个简单的测试用例? class GeneratedObject : IObject { public T Get(string propertyName) { // this is the simplest possible implementation return default(T); } }