Tag: c#

在mef中卸载dll文件

我有一些插件作为DLL文件。 我的应用程序加载DLL并运行正常。 但是当我尝试删除旧插件并用新插件替换它时,它不允许我这样做。 因为它已被应用程序加载。 我发现通过使用appdomain,我们可以做到这一点。 但我无法找到使用mef的解决方案。 我需要一个可以在mef上运行的代码。 下面是我的代码,用于加载插件。 //Creating an instance of aggregate catalog. It aggregates other catalogs var aggregateCatalog = new AggregateCatalog(); //Build the directory path where the parts will be available var directoryPath = “Path to plugins folder”; //Load parts from the available dlls in the specified path using the directory catalog var […]

每个“等待”运算符都会导致状态机吗?

请考虑以下代码: public async Task GetString() { //Some code here… var data = await A(); //Some more code… return data; } private async Task A() { //Some code here.. var data = await B(); //manipulating data… return data; } private async Task B() { //Some code here.. var data = await C(); //manipulating data… return data; […]

如何在Visual Studio中切换.NET Core项目的目标框架

假设您有一个如下所示的.NET Core项目: “frameworks”: { “net40”: {}, “dotnet5.1”: {} } 这是你的C#代码: public class Foo { public static void Blah() { #if DOTNET5_1 DoSomething(); #elif NET40 DoSomethingElse(); #endif } } 现在,在Visual Studio中查看.cs文件时,其中一个#if部分将显示为灰色 – DoSomething或DoSomethingElse 。 以下是我在笔记本电脑上的显示方式: 是否有可能让VS在目标平台之间“切换上下文”,以便您可以查看为特定平台编译的内容? 例如,在实际构建解决方案之前,我可能想要检查每个框架的任何红色波浪线。 任何帮助将不胜感激,谢谢!

.NET – 将可执行文件跨LAN复制到另一台计算机并执行它

我正在使用.NET,并且疯狂地试图找到任何有用的API,它允许我通过LAN网络传输文件(当然通过管理员凭据),然后在该机器上执行它。 我已经阅读了一些使用WMI的东西,但谷歌搜索“.net WMI复制文件”或“.net WMI执行文件”并没有帮助我。 任何参考将不胜感激。 编辑 我不能使用像PsExec这样的第三方工具(虽然它完全符合我的要求)。 这是因为PsExec涉及的许可证我不能用我的应用程序分发它。

从web.config读取成员资格部分

我已经创建了一个自定义MembershipProvider类,到目前为止一直很好,但是,我不知道如何从web.config文件中读取配置设置。 我试图从谷歌和Stackoverflow搜索,似乎有人也遇到了我的问题,并问,但没有给出答案。 这应该是一件简单的事情,但我在网络开发方面非常新,所以从web.config中读取设置似乎对我来说太技术了。 这是我的设置: 我想阅读minRequiredPasswordLength设置,请协助。

OperationContext中的标头

我做了一个小项目(WCF + REST),我遇到了一个小问题。 我想创建我的授权和身份validation类。 我的授权类: //validate api key public class BasicAuthorization : ServiceAuthorizationManager { public override bool CheckAccess(OperationContext operationContext, ref Message message) { //some code } } 我的认证课程 // validation user login & password public class BasicAuthentication : ServiceAuthenticationManager { public override ReadOnlyCollection Authenticate( ReadOnlyCollection authPolicy, Uri listenUri, ref Message message) { //some code } […]

SqlCommand中的字符串列表通过C#中的参数

在C#中使用SqlCommand我在where子句中创建了一个包含IN(list …)部分的查询。 而不是循环我的字符串列表生成我需要查询的列表(如果您认为在sqlInjection中是危险的)。 我以为我可以创建一个参数,如: SELECT blahblahblah WHERE blahblahblah IN @LISTOFWORDS 然后在代码中我尝试添加如下参数: DataTable dt = new DataTable(); dt.Columns.Add(“word”, typeof(string)); foreach (String word in listOfWords) { dt.Rows.Add(word); } comm.Parameters.Add(“LISTOFWORDS”, System.Data.SqlDbType.Structured).Value = dt; 但这不起作用。 问题: 我在尝试一些不可能的事吗 我采取了错误的做法吗? 这种方法我有错吗? 谢谢你的时间 :)

如何在c#中每隔几秒调用一个特定的方法?

“机器人游戏”是我开发的第一款基本游戏。 洋红色’#’角色是一个敌人,它应该在这张地图中随机移动,但它的随机移动速度太快我试图使用线程,但它会影响所有角色的速度。 现在,我需要每100毫秒调用一次“Enemy”方法。 机器人游戏图片:

EntityState.Deleted不起作用,Remove(entity)呢?

我在尝试读取记录时一直在与EF斗争,然后在同一个事务中删除这些记录。 我最初使用的是EntityState.Deleted方法,它会产生错误: 操作失败:无法更改关系,因为一个或多个外键属性不可为空。 当对关系进行更改时,相关的外键属性将设置为空值。 如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。 但是如果我把它改成我下面的那个,使用.Remove(),那么一切都很好。 有什么区别和最佳使用时间.Remove()vs .Deleted? 我怎么能使用.Deleted方法来完成这项工作? 我已经尝试创建一个新的上下文实例到我的存储库读取和另一个删除,但后来得到的错误与IEntityTracker无法跟踪多个实例…我也试过.Include在初始读取时加载依赖记录进入EF所以它知道并删除它们。 我也尝试过。先读取读取记录。 一切都无济于事。 这是有问题的方法。 请注意,我确实有一个使用.Deleted方法的通用存储库,该方法在此方案之前一直很好用(读取然后删除相同的记录。) //Delete Allocation Need and AllocatedContainers for alloc need id public ActionConfirmation DeleteAllocRecords(int intFacilityId, AllocNeedSourceTypes needSourceType, int intNeedSourceId) { var context = new InventoryMgmtContext(); var repository = new AllocationNeedRepository(context); //Delete Allocation Need and hence children in Allocated Containers var srcType = needSourceType.ToString(); […]

如何使用OfType 过滤到generics类型的所有变体

我想使用List使用它们的类型过滤List对象。 我的问题是,某些对象属于通用接口类型,但它们没有自己的公共inheritance接口。 我有以下定义: public interface ISeries public interface ITraceSeries : ISeries public interface ITimedSeries : ISeries //and some more… 我的列表包含各种ISeries ,但现在我想只获取ITraceSeries对象,无论它们实际定义的generics类型参数如何,如下所示: var filteredList = myList.OfType<ITraceSeries>(); //invalid argument! 我怎样才能做到这一点? 一个不受欢迎的解决方案是引入一个inheritance自ISeries的类型ISeries : public interface ITraceSeries : ITraceSeries 然后,使用ITraceSeries作为filter。 但这并没有真正添加新信息,只会使inheritance链更复杂。 在我看来,这似乎是一个常见问题,但我没有在SO或网络上找到有用的信息。 感谢帮助!