IPTC .NET读/写c#库

我正在寻找一些库来从Jpg文件读取/写入IPTC元数据。 开源或付费,没关系。 它应该适用于.NET 3.5和c#。 有人知道这样的图书馆吗? 我用Google搜索但没有找到任何东西。

如何将子菜单项添加到菜单项

我在Windows窗体中创建了一个Table布局,如图所示,我添加了一个鼠标右键单击Menu到我的表, 我想将子菜单项添加到以下菜单项中,例如 当我点击add device它应该显示子项目,如sounder , MCP , strobe等。当我点击fault它应该显示子项,如open circuit fault , sounder fault ,“短路故障”等等 这就是我创建menuitems的方式 ContextMenu m = new ContextMenu(); MenuItem addDevice = new MenuItem(“Add Device”); MenuItem deleteDevice = new MenuItem(“delete Device”); MenuItem fire = new MenuItem(“Fire”); MenuItem fault = new MenuItem(“Fault”); MenuItem suppress = new MenuItem(“Suppress”); m.MenuItems.AddRange(new MenuItem[] { addDevice, deleteDevice, fire, fault,suppress}); tableLayout.ContextMenu […]

XmlSerialization Collection as Array

我正在尝试序列化需要使用多个同名元素的自定义类。 我尝试过使用xmlarray,但它将它们包含在另一个元素中。 我希望我的xml看起来像这样。 some text some more text 我的代码: [Serializable(), XmlRoot(“root”)] public class test { [XmlArray(“trees”)] public ArrayList MyProp1 = new ArrayList(); public test() { MyProp1.Add(“some text”); MyProp1.Add(“some more text”); } }

如何使用ISynchronizeInvoke接口?

ISynchronizeInvoke的工作过程是ISynchronizeInvoke ? 如何在C#中使用它?

加载Properties.Settings在运行时从不同的文件

有没有办法在运行时从默认App.config文件以外的其他文件加载设置? 我想在加载默认配置文件后执行此操作。 我使用Visual Studio中的Settings.Settings GUI为我创建我的App.config文件。 配置文件最终看起来像这样: 1234 在代码中,我可以访问如下设置: Console.WriteLine(“Default setting value: ” + Properties.Settings.Default.SettingSomething); 我的想法是,在运行应用程序时,我应该能够在运行时指定配置文件,并让应用程序将配置文件加载到Properties.Settings.Default对象中,而不是使用默认的app.config文件。 配置文件的格式相同,但设置的值会有所不同。 我知道使用ConfigurationManager.OpenExeConfiguration(configFile);执行此操作的方法ConfigurationManager.OpenExeConfiguration(configFile); 。 但是,在我运行的测试中,它不会更新Properties.Settings.Default对象以反映配置文件中的新值。 在考虑了这个问题之后,我已经能够提出一个我更喜欢的解决方案。 我确信它有一些陷阱,但我认为这对我需要做的事情有用。 本质上, Properties.Settings类由Visual Studio自动生成; 它为您生成类的代码。 我能够找到代码生成的位置,并添加一些函数调用来自行加载配置文件。 这是我的补充: internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { //Parses a config file and loads its settings public void Load(string filename) { System.Xml.Linq.XElement xml = null; try { string […]

任务未处理的exception

我试图了解在任务对象中抛出但从未处理过的exception发生了什么。 在MSDn上,据说: 如果您不等待传播exception的任务或访问其Exception属性,则在对任务进行垃圾回收时,将根据.NETexception策略升级exception。 所以我不太明白这些exception会以何种方式影响程序流程。 我认为这些exception应该在垃圾收集后立即中断执行。 但我无法设计这种行为。 在以下代码段中,抛出的exception不会显示。 \\Do something … Task.Run (()=> {throw new Exception(“Exception in the task!”);}); \\Do something else 请问,任何人都可以解释如何处理未处理的任务exception,以及它们如何影响程序流程。

ASP.NET MVC搜索页面 – 整数StartsWith On Linq + EF4

因此,在我上一篇文章中,我问如何使用LINQ和EF4构建动态搜索filter( 请参阅此处 ),最后提出了将表达式构建为字符串并使用Dynamic LINQ库将其解析为表达式的解决方案。 我解决了这个问题。 我能够生成一个Expression<Func>并将其传递给DbSet的Where()方法。 我也尝试使用MySql作为EF4背后的数据库。 当我尝试将字符串操作应用于整数时出现问题,例如搜索连续数字以1234开头的数据库记录。 我的初始表达式类似于: record.ConsecutiveNumber.ToString().StartsWith(“1234”) 。 遗憾的是,正如预期的那样,事情并不那么容易,因为EF4无法查询DbSet ,但有exception: “LINQ to Entities无法识别方法’System.String ToString()’方法,并且此方法无法转换为商店表达式。” 经过一些谷歌搜索,我发现这是一个常见的问题。 但是C’MON! 有没有办法执行搜索function,可以搜索具有以“1234”开头的连续数字的记录? 专业人士如何使用EF4实现搜索function? 这是一个属性filter。 如果我想添加多个filter怎么办? 上帝,我的头痛…:/ 谢谢! 编辑: 想法#1:存储过程怎么样? 从Linq调用MySql存储过程怎么样? 我瞄准的方式太高了吗?

如何自定义OAuthAuthorizationServerProvider的错误消息?

我们使用OAuthAuthorizationServerProvider类在我们的ASP.NET Web Api应用程序中进行授权。 如果在GrantResourceOwnerCredentials提供的用户名和密码无效,则调用 context.SetError( “invalid_grant”, “The user name or password is incorrect.” ); 生成以下Json结果: { “error”: “invalid_grant”, “error_description”: “The user name or password is incorrect.” } 有没有办法自定义此错误结果? 我想使它与API的其他部分中使用的默认错误消息格式一致: { “message”: “Some error occurred.” } 这是否可以通过OAuthAuthorizationServerProvider实现?

ScriptingOptions sql smo不支持脚本数据

我正在使用c#代码生成sql数据库脚本。 以下代码适用于create table但是当我尝试使用scriptOptions.ScriptData = true; 它抛出以下exception。 Microsoft.SqlServer.Smo.dll中发生未处理的“Microsoft.SqlServer.Management.Smo.FailedOperationException”类型的exceptionexception 附加信息:此方法不支持脚本数据。 码 public static string ScriptDatabase(string dbConnectionString, string databaseName) { SqlConnection conn = new SqlConnection(dbConnectionString); ServerConnection serverConn = new ServerConnection(conn); var server = new Server(serverConn); var database = server.Databases[databaseName]; var scripter = new Scripter(server); // I tried this code also // scripter.Options.ScriptData = true; ScriptingOptions scriptOptions = new […]

LINQ选择动态列和值

由于各种原因,我需要能够允许用户根据他们对列和值的选择从数据库中选择项目。 例如,如果我有一张桌子: Name | Specialty | Rank ——-+—————–+—– John | Basket Weaving | 12 Sally | Basket Weaving | 6 Smith | Fencing | 12 用户可以请求1,2或更多列,并且他们请求的列可以是不同的。 例如,用户可以请求其中Specialty == Basket Weaving和Rank == 12. What I do currently is gather the user’s request and create a list of条目Rank == 12. What I do currently is gather the […]