Tag: .net 4.0

WCF:OperationContext.IncomingMessageProperties.Via返回错误的URI

我在IIS中托管WCF服务。 我在IIS中为站点设置了多个主机名绑定。 但是,在向任何非默认绑定发出请求时,OperationContext.IncomingMessageProperties.Via属性不会报告正确的URL。 报告的URL使用默认绑定的主机名作为基础,具有相同的路径和查询字符串。 例如,假设以下绑定: http://subfoo.services.myapp.com (first/default entry) http://subbar.services.myapp.com 在向http://subbar.services.myapp.com/someservice?id=123提出请求时 Via属性将请求URI报告为: http://subfoo.services.myapp.com/someservice?id=123 : http://subfoo.services.myapp.com/someservice?id=123 id = http://subfoo.services.myapp.com/someservice?id=123 如何获取具有所请求的实际主机名的URL?

C#.NET 4.0测试框架?

如果我没有弄错的话,NUnit是unit testing的事实上的标准,但是我刚下载它,写了一个简单的测试,然后显然我必须启动GUI并加载我的.exe程序集,这只是失败。 我试过编辑 C:\Program Files (x86)\NUnit 2.5.7\bin\net-2.0\nunit.exe.config 正如在这个问题中所建议的,但这也没有用,所以我尝试下载nunit源代码并在vs2010中编译它,但它甚至都没有编译。 说无法找到punit.framework.dll 。 该解决方案说“不包含AllTestsExecuted的定义”,所以我在这里有点沮丧。 您认为.net 4会有一个易于使用且运行良好的框架,不是吗? 所以我的问题是,我如何让NUnit工作,或者是否有另一个框架可以减少我的痛苦?

将双for循环转换为linq查询

我有一个循环,一旦简化,看起来像这样: Dictionary<Tuple,Decimal> results = new Dictionary<Tuple,Decimal>(); foreach( A a in collectionA ) foreach( B b in collectionB ) results [Tuple.Create(a, (G)b.groupBy)] += (Decimal) Func(a, b); 有没有办法可以使用Linq查询复制此结果(例如,使用GroupBy , Sum和ToDictionary )? (正如在上一个问题的答案中所建议的那样: 对可能未初始化的Dictionary元素执行加上等于操作的简明方法 ) 结果 //Dictionary BcEventGroupLayerLosses 使用下面的Yuxiu Li的答案,我能够从链接的问题转换这4个class轮: BcEventGroupLayerLosses = new Dictionary(); foreach( UWBCEvent evt in this.BcEvents.IncludedEvents ) foreach( Layer lyr in this.ProgramLayers ) BcEventGroupLayerLosses.AddOrUpdate( new […]

System.MethodAccessException,CAS和Visual Studio调试器

我正在调用ModelMetadataProviders.Current.GetMetadataForProperties来使用Visual Studio 2010获取WPF应用程序中的ModelMetadata列表。此调用执行正常,我得到IEnumerable 作为回报。 在代码行,我尝试迭代这个,我得到System.MethodAccessException。 有趣的是,只有在我使用F5进行调试时才会发生这种情况。 如果我用Ctrl + F5运行代码,那么我不会得到这个exception,代码工作正常。 如果我从Windows资源管理器运行exe,它运行正常。 当然,我错过了一些东西。 可能是,System.Web.Mvc无法从WPF应用程序中使用? (为什么)有关visual studio调试器的东西吗? 任何帮助将不胜感激。 这是完整的例外: 尝试通过安全透明方法’System.Web.Mvc.TypeDescriptorHelper.Get(System.Type)’来访问安全关键方法’System.ComponentModel.DataAnnotations.AssociatedMetadataTypeTypeDescriptionProvider..ctor(System.Type)’失败。 程序集’System.ComponentModel.DataAnnotations,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35’是有条件的APTCA程序集,在当前的AppDomain中未启用。 为了使该组件由部分信任或安全性的透明的代码中使用,请在创建应用程序域时添加组件名称“System.ComponentModel.DataAnnotations,公钥= 0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9”到的PartialTrustVisibleAssemblies列表。

启动时网络驱动器不可用

我有一个C#应用程序,它在启动时加载,并将数据记录到网络驱动器,网络驱动器安装为X: 当计算机首次启动时,应用程序将抛出X:\不可用的错误。 如果我重新启动应用程序,同样的错误。 但是,如果我打开Windows资源管理器并双击浏览驱动器,我可以运行该应用程序,它将连接到X:就好了。 尽管被映射,网络驱动器是否在启动时不会自动初始化? 有没有办法将它们设置为自动初始化?

如何使用可读/可写的本地XML设置?

我在这里找到了类似于我需要的东西: http : //www.codeproject.com/KB/cs/PropertiesSettings.aspx但它并不适合我。 用户设置存储在一些遥远的位置,如C:\documents and settings\[username]\local settings\application data\[your application] ,但我无法访问这些文件夹,我无法复制设置文件从一台计算机到另一台计算机,或完全删除该文件。 此外,在应用程序旁边放置设置xml文件并复制/发送两者都非常方便。 这用于演示软件(这是一种合法的编码任务类型),将由该领域的非技术人员使用。 我需要快速完成这个,所以我需要重用一些现有的库而不是自己编写。 我需要使它易于使用和便携。 我想要的最后一件事是在午夜接到一个电话,说明当我通过我将建立的设置对话框进行编辑时,设置不会持续存在。 因此,用户设置存储上帝知道在哪里,应用程序设置是只读的(没有去)。 还有什么我可以做的吗? 我认为app.config文件有多个目的,我想我曾经看到它以我想要的方式使用,我只是找不到链接。 如果有什么不清楚,请告诉我。

如何通过按删除按钮从ListView中删除所选项?

我想从ListView中删除一个或多个选定的项目。 最好的方法是什么? 我正在使用C#和dotnet Framework 4。

如何通过代码在一个实例中创建另一个.NET程序实例?

我需要能够在按钮单击的同时创建另一个全新的程序实例,同时保留现有实例。 this.ShowDialog(new Form1()); 上面的语句使当前表单成为新表单的所有者,我需要第二个实例独立于现有实例。 谁能帮我这个?

协方差也在3.5 / 2.0?

奇怪的问题…… 我已经从例子中实现了协方差。 我的目标FW是4.0。 怎么样 我想看看它是否在3.5 / 2上失败 – >但它不会。 因为协方差来自FW4.0,所以不可能。 更改为3.0后我构建并看到:(+在运行时不会失败)

在仅适用于.NET-4的系统上的GAC中使用面向.NET-2.0的COM DLL

再次问候, 按照我之前的问题,我正在尝试最大化我的C#编写的Windows资源管理器扩展的兼容性。 特别是,我有兴趣确保它在安装了.NET 4并且未安装.NET 3.5及更低版本的环境中工作。 人们会认为没有问题,但显然不是那么简单…… 有两个问题。 首先,非.NET-4目标程序集不会加载CLR 4,除非它们具有指定的.config文件。 如果没有这个.config文件,即使尝试在它们上使用ngen也会失败。 但我的DLL进入了GAC。 我如何在那里获得.config文件? 其他人也问过同样的事情,并得出结论“好吧,我只会改为创建一个静态的设置类。” 显然我做不到…… 第二个问题:当我用regasm.exe注册我的DLL,然后打开注册表查看它写的内容时,我在其CLSID条目下看到RuntimeVersion = v2.0.50727 。 这也可以防止加载DLL。 只有在我手动将RuntimeVersion值更改为RuntimeVersion后,DLL v4.0.30319加载。 那么我必须让我的安装程序在这里做什么? 对于第一个我不知道。 对于第二个,我想我必须让安装程序手动设置注册表的RuntimeVersion到任何.NET版本安装? 这看起来太古怪了……