Tag: .net

支持对象类型的.Net的第三方Oracle提供程序

我正在为.Net(ADO.NET)寻找第三方Oracle数据提供程序,它完全支持Oracle对象类型(如几何)。 我愚蠢地使用ODP.NET,现在我付出了代价 – 这是非常错误的,我刚刚到达终点(继续崩溃IIS池 – 已知问题,没有解决方案)。 我发现dotConnect很好,对象类型比ODP.NET慢4倍。 是否有其他提供商支持Oracle对象?

如何覆盖动态对象属性的get访问器

我们假设我有以下课程: public class Person { public string Name { get; set; } public string Surname { get; set; } public string FullName { get { return Name + ” ” + Surname; } } } 以下块: Person person = new Person(); person.Name = “Matt”; person.Surname = “Smith”; return person.FullName; Matt Smith会回来的。 让我们将Person类型更改为动态ExpandoObject 。 代码如下所示: dynamic […]

无法访问具有group by的字段和使用linq的多个连接

我想只列出那些平均值与记录不同的类别。 这种差异存在于2个表中: TestOperation,TestOperationDifference 我想计算以下3个字段的平均值: TestOperation:DiffPerc If DiffPerc < 100 "Difference is there and take value of DiffPerc to calculate average" else "Dont take that record" TestOperationDifference:DiffPerc,DiffRec If DiffPerc < 100 "Difference is there and take value of DiffPerc and DiffRec to calculate average" else "Dont take that record" finalAverage=( Average(TestOperation.DiffPerc) + Average(TestOperationDifference.DiffPerc) + Average(TestOperationDifference.DiffRec) )/3 […]

用于.net的Phalanger和php库

我有三个我想在我的.net应用程序中使用的php类。 我使用Phalanger来获取这三个类并使用此命令创建一个.dll文件: phpc /target:dll Client.php Crypt.php Exception.php 当然输出了Client.dll以及Client.pdb文件。 从那里我去了VS2012并创建了一个新的asp.net应用程序并添加了Client.dll作为参考。 但是我没有看到任何类的公共方法和对象浏览器窗口显示: 客户端>客户端>基本类型>对象(这样我只有Object类型的方法) 我已经尝试过这个方法/教程来使其工作,这涉及将自定义接口转换到您的对象但是我收到错误: 找不到类型或命名空间名称ScriptContext 这当然意味着它不知道ScriptContext的内容或位置。 但是这个教程是从2007年开始的,所以我不知道它是否会过时或者我应该从哪里获得该类? 我找到的另一个教程就像以前一样。 它说: 如果你想使用现有的PHP源代码(为标准解释器开发)而不进行修改,你必须使用传统模式,但是当你想开发新的PHP项目时,你可以考虑使用纯模式 但我无法在文档中找到遗留模式的步骤,并且更喜欢尝试“纯”模式(因此我不必更改/编辑我现有的PHP代码)。 我确实尝试过(纯模式)但是它不会使用上面的命令编译(phalanger compile)(将DynamicObject.php类添加到命令中)。 如何在php类中获取我的公共方法?

用于修改machine.config文件的API – ‘DbProviderFactories’部分每个配置文件只能出现一次

我最近在客户端计算机上遇到以下错误: “DbProviderFactories”部分每个配置文件只能出现一次。 机器配置似乎包含重复的DbProviderFactories元素。 手动删除这个额外的元素可以解决问题,我们的软件可以运行。 但是,有人要求我们尝试通过忽略我们自己的app.config中的重复条目来解决这个问题。 这是因为许多客户端可能有同样的问题,我们无法修改每个人的配置文件。 我已经尝试在system.data部分中添加一个元素,希望覆盖machine.config中已有的内容。 但是,这不起作用。 例如 有没有办法以编程方式忽略重复的DbProviderFactories元素? 是否存在允许您修改机器配置的API? 有人可以帮忙,或推荐一个解决方案? 亲切的问候

如何制作可插入的静态类

我知道如何在c#中制作可插拔的东西。 定义一个接口, Activator.CreateInstance()等。或者我可以有一个显式创建插件类实例的代码路径。 很多种方法。 但是,如果我想要可插拔的服务是静态的(我知道我可以重构,所以它不是,但这不是问题的重点) 具体例子。 我有一个提供磁盘I / O抽象的类(读取文件,列表目录,….)。 现在我想要这种抽象的不同实现,它可以提供来自真实FS,数据库的文件。 基于Olivier Jacot-Descombes的回复,我将有一个像这样的FileSystem类(这是真的) public static class FileSystem { static IFSImplemenation s_imple; static FileSystem() { if() // converted to singleton instead of static s_imple = new OldFileSystem() else s_imple = new DbFileSystem(); } public static byte[] ReadFile(string path) { return s_imple.ReadFile(path); } … } 重申 – 我有一大堆代码,我不想改变,所以保持调用签名相同很重要 […]

我如何使用listDictionary?

我可以填写我的listdictinary但是,如果运行错误在“foreach(字符串ky in ld.Keys)”中返回给我(无效操作exception未处理) 错误详细信息:创建指向样本集合列表的指针后,已更改。 C# ListDictionary ld = new ListDictionary(); foreach (DataColumn dc in dTable.Columns) { MessageBox.Show(dTable.Rows[0][dc].ToString()); ld.Add(dc.ColumnName, dTable.Rows[0][dc].ToString()); } foreach (string ky in ld.Keys) if (int.TryParse(ld[ky].ToString(), out QuantityInt)) ld[ky] = “integer”; else if(double.TryParse(ld[ky].ToString(), out QuantityDouble)) ld[ky]=”double”; else ld[ky]=”nvarchar”;

.net程序中的自我更新?

我正在寻找.net程序中自我更新的最佳机制! 解决方案应涵盖此主题: 1)服务器 – 客户端程序 2)当新的更新发布后,在服务器程序上安装后,所有客户端程序必须根据服务器版本自行更新。(不需要服务器自动更新) 3)完全更新:例如,如果版本3上的服务器和上次更新包版本为5,则更新包必须包含任何旧包。

套接字上的Protobuf-net序列化。 没有无参数构造函数发现ProtoException

我创建了一个使用套接字完成进程间通信的应用程序。 当客户端与我创建的服务器连接并发送序列化消息时,该过程开始。 这条消息,我使用Protobuf-net进行序列化,使用SerializeWithLengthPrefix并使用DeserializeWithLengthPrefix对其进行反序列化。 客户端将消息发送到完全反序列化的服务器,但在服务器到客户端的情况下却不是这样。 主类是BaseMessage,它是抽象的。 [Serializable, ProtoContract, ProtoInclude(5001, typeof(LogonMessage))] abstract public class BaseMessage { public BaseMessage() { } abstract public int MessageType { get; } } LogonMessage实现了BaseMessage类。 [Serializable, ProtoContract] public class LogonMessage : BaseMessage { public LogonMessage() { } [ProtoMember(1)] public string Broker { get; set; } [ProtoMember(2)] public int ClientType { get; set; } […]

SQL Server中的BetaInv函数

类似于问题: MySQL中的反转beta我需要在SQL Server存储过程中使用BetaInv函数。 函数在这里描述: Excel的BETAINV 是否有人知道TSQL中的任何类似内容,或者您​​将它包装在CLR .NET托管SQL用户定义函数中? 我确实需要在存储过程中使用它,而不是在使用存储过程检索数据后在C#端执行代码,因为我应该将所有逻辑保留在数据库服务器上以便更好地重用。 我可以假设在SQL Server中运行的.NET托管udf的执行速度与普通的本机TSQL函数一样快吗? 谢谢!