Action 无法转换为EventHandler?

我正在连接一个事件以使用一个lambda,它需要在触发后自行移除。 我无法通过将lambda内联到+ =事件(没有用于删除事件的可访问变量)来做到这一点所以我设置了一个Action变量并将lambda移动到那里。 主要错误是它无法将Action转换为EventHandler。 我认为lambda表达式可以隐式转换为事件处理程序,为什么这不起作用?

在启动时将程序放入系统托盘中

我按照常用链接提示将应用程序减少到系统托盘: http : //www.developer.com/net/csharp/article.php/3336751现在它可以工作,但仍然存在问题:我的应用程序已显示什么时候开始; 我希望它直接在系统托盘中启动。 我试图在Load事件中最小化并隐藏它,但它什么也没做。 编辑:我可以,如海报建议,修改快捷方式属性,但我宁愿使用代码:我没有完全控制安装软件的每台计算机。 我不想从除了systray之外的任何地方完全删除它,我只是想让它开始最小化。 有任何想法吗 ? 谢谢

如何加密密码以便以后将其保存在数据库或文本文件中?

我希望我的应用程序保存在数据库或文本文件中加密的密码。 假设数据库或文本文件可以由任何人打开,我该怎么做? 重复 加密/散列数据库中的纯文本密码 不重复我要求特定于.NET的代码 编辑:我保存密码供以后使用。 我需要对其进行解码并使用它进行登录。 它不一定非常安全,它只需要人眼不可读,并且难以用琐碎的脚本解码。

C#中静态构造函数的潜在缺陷

我的问题来自重构一个只包含静态方法的类被声明为static类,并在启动应用程序时遇到奇怪的问题。 我没有进行任何彻底的调查,但似乎从静态构造函数中进行的某些调用由于某种原因没有完成。 那么,我想知道在C#中使用静态构造函数时有哪些陷阱? 更具体地说,有什么东西应该不惜一切代价避免,而不是在静态构造函数中使用?

创建我自己的exceptionc#

以下是我的C#书中的示例,我遇到了一个在Visual Studio中不起作用的书籍示例。 它涉及创建自己的exception,尤其是阻止你取负数的平方根。 但是当我使用“throw new”创建NegativeNumberException时,我收到一条错误,上面写着“找不到类型或命名空间名称’NegativeNumberException’(您是否缺少using指令或程序集引用?)” 如果这不是正确的方法,我怎么能创建自己的例外? 也许我的书已经过时了? 这是代码: class SquareRootTest { static void Main(string[] args) { bool continueLoop = true; do { try { Console.Write(“Enter a value to calculate the sqrt of: “); double inputValue = Convert.ToDouble(Console.ReadLine()); double result = SquareRoot(inputValue); Console.WriteLine(“The sqrt of {0} is {1:F6)\n”, inputValue, result); continueLoop = false; } catch (FormatException […]

如何在WebAPI后端C#上接收JSON数据?

如何在C#中的WebAPI后端接收JSON数据? 我从我的JavaScript前端发送了以下JSON。 { “User_Id”: 1, “TotalPrice”: 35, “DeliveryAddress”: “At my house”, “CartItems”: [ { “Id”: 1009, “Name”: “Superman juni 2014”, “Quantity”: 1, “Price”: 35 } ] } 我有这个课程: public class PurchaseOrder { public List CartItems { get; set; } public string DeliveryAddress { get; set; } public int TotalPrice { get; set; } public int […]

ASP.NET MVC中基于文档的安全性

我已经了解ASP.NET MVC中的用户和基于角色的安全性。 但现在我需要一些更精细的东西。 假设我有一份文档列表,其中一些是用户授权的,有些则不是。 每个文档在数据库的文档表中都有相应的记录。 如果用户具有安全访问权限,则可以下载文档以供查看。 如果您有角色,也可以添加文档。 每个文档都有一个URL,每个文档列表都有一个URL。 我想安全修整列表,以便用户只能看到他授权的那些文档。 但是我还需要对这些列表和文档的URL请求进行身份validation,因为没有什么可以阻止用户为他们不再有权访问的文档添加书签,或者只是在浏览器中键入URL。 内置的基于角色的安全模型是否适用于此,或者我是否需要创建单独的基于表的安全性? 我可以将安全性放在我的存储库中,以便返回的记录已被修剪,或者它应该是控制器的一部分吗? 我是否需要安全属性来validation控制器请求,或者我应该将它作为前几行代码放在控制器方法中?

静态与实例方法性能C#

我在ASP.NET Web应用程序中的公共类中声明了很少的全局方法。 我习惯以下列格式在公共类中声明所有全局方法 public static string MethodName(parameters) { } 我想知道它会如何影响性能观点? 哪一个更好? 静态方法还是非静态方法? 为什么它更好? http://bytes.com/topic/c-sharp/answers/231701-static-vs-non-static-function-performance#post947244指出: 因为,静态方法使用锁是线程安全的。 始终在内部执行Monitor.Enter()和Monitor.exit()以确保线程安全。 虽然http://dotnetperls.com/static-method声明: 静态方法在调用堆栈上调用通常比实例方法更快。 在C#编程语言中有几个原因。 实例方法实际上使用’this’实例指针作为第一个参数,因此实例方法将始终具有该开销。 实例方法也使用中间语言的callvirt指令实现,这会产生轻微的开销。 请注意,将方法更改为静态方法不太可能对雄心勃勃的性能目标有所帮助,但它可以帮助一点点,并可能导致进一步减少。 我有点困惑哪一个使用?

unit testing异步function

在下面的代码示例中,我有一个Async Calculator类。 这是注入一个ICalc,它将是一个同步计算器。 我使用dependency injection和模拟ICalc,因为这类似于我的真实场景,尽管我猜嘲笑并不是真正与问题相关。 AsyncCalc有一个函数,它将异步调用另一个函数 – 将回调作为参数。 当异步函数调用完成时,将使用结果触发回调。 现在我想测试我的异步函数 – 检查回调是否被期望参数触发。 这段代码似乎有效。 但是,我觉得它可能随时都会爆炸 – 我的担心是在函数结束和测试终止之前完成回调的竞争条件 – 因为这将在一个单独的线程中运行。 我现在的问题是,如果我在正确的轨道单元上测试异步function,或者是否有人可以帮助我走上正轨……? 更好的是,如果我能确保立即触发回调 – 最好是在同一个线程上我猜? 可以/应该这样做吗? public interface ICalc { int AddNumbers(int a, int b); } public class AsyncCalc { private readonly ICalc _calc; public delegate void ResultProcessor(int result); public delegate int AddNumbersAsyncCaller(int a, int b); public AsyncCalc(ICalc […]

ASPNET核心服务器发送事件/响应刷新

虽然没有官方文档,但是有谁知道如何使用ASP.NET Core实现SSE? 我怀疑一个实现可能会使用自定义中间件,但也许可以在控制器操作中执行此操作?