问题列表 - 第11518页

请向我解释一下这个SerializationException

下面的简单类继承自HashSet,因此必须实现ISerialization成员(以非标准方式).当我尝试序列化然后反序列化Group的实例时,我得到以下异常:

测试方法UtilitiesTests.GroupTest.SerializeTest抛出异常:System.Reflection.TargetInvocationException:Het doel van een aanroep heeft een uitzondering veroorzaakt.---> System.Runtime.Serialization.SerializationException:Lid nameprop是niet gevonden ..

不幸的是,这是荷兰语.这意味着无法找到成员"nameprop"!怎么了??

using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace Grouping
{
    [Serializable]
    public class Group<T> : HashSet<T>
    {
        public Group(string name)
        {
            Name = name;
        }

        protected Group(){}

        protected Group(SerializationInfo info, StreamingContext context):base(info,context)
        {
            Name = info.GetString("nameprop");
        }

        protected new void GetObjectData(SerializationInfo info,StreamingContext context)
        {
            base.GetObjectData(info,context);
            info.AddValue("nameprop", Name);
        }

        public string Name { get; private set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# serialization

2
推荐指数
1
解决办法
2827
查看次数

在 SQL 中参数化“order by”

在 ADO.NET 中参数化 order by 子句的正确方法是什么?

有时需要按 2 列排序,而默认情况下仅按 1 列排序,有时您只想将 ASC 更改为 DEC。在这种情况下,仅使用字符串连接是否可以(假设输入不是直接来自用户,而只是在代码中查找或多或少的硬编码值)

c# sql ado.net

6
推荐指数
2
解决办法
3269
查看次数

有没有办法创建ADO.NET连接并忽略环境事务?

我有一种情况,我在一个具有TransactionScopeRequired = true的WCF服务中运行,这意味着将始终存在环境事务.

但是,我需要在应用程序的生命周期内启动一个新的连接,这意味着我不能让它使用abmbient事务.

关于如何做到这一点的任何想法?这样做会自动使用环境事务:

Assert.IsNotNull(System.Transactions.Transaction.Current);
var conn = new OracleConnection("my connection string");
conn.Open(); // <-- picks up ambient transaction, but I don't want that
Run Code Online (Sandbox Code Playgroud)

实际上这个例子可以通过这样说来变得更简单:

OracleConnection conn; // <-- this is actually held around in another object that has a very long lifetime, well past the TransactionScope.
using(var tx = new TransactionScope())
{
    conn = new OracleConnection("my connection string");
    conn.Open(); // <-- picks up ambient transaction, but I don't want that
    // ... do stuff
}
Run Code Online (Sandbox Code Playgroud)

我不希望我的连接真正拿起TransactionScope.在实际代码中,还有很多事情要做,范围内的数据库操作,我只需要1,我需要在事务范围的生命周期内保持不变.


我想真实的情况值得一提.这里实际发生的是在WCF服务调用期间,我使用企业库缓存块将对象添加到缓存.此对象是一个数据表,但也保持与Oracle建立连续通知的开放连接.这使我能够在底层Oracle表更改时自动刷新缓存的数据集.

任何数量的WCF初始化线程都可以访问数据缓存项,所有这些线程都在自己的事务范围内运行.我想你可以把它想象成将一个OracleConnection对象放在缓存中.更好的文本/示例代码块将是: …

.net c# ado.net transactions transactionscope

4
推荐指数
1
解决办法
985
查看次数

如何自动将文本附加到使用JavaScript复制的文本

在JavaScript中,如何在网站上选择文本,复制它(通过Control + C,Command + C或编辑复制)并让JavaScript在剪贴板上附加一行或两行,这样当用户粘贴时,他们复制的内容就是显示以及额外的线?

此外,这可能只在<div>网站的某些内容中进行吗?如果是这样,怎么样?

html javascript xhtml copy copy-paste

9
推荐指数
2
解决办法
5559
查看次数

Facebook如何将该工具栏保留在页面底部?

我喜欢Facebook如何将该工具栏保留在页面底部.

这需要跨浏览器的忍者技能吗?

他们的JavaScript/CSS文件非常庞大,因此我很难缩小实现范围(出于学习目的).

javascript css ajax toolbar

7
推荐指数
1
解决办法
4004
查看次数

Win32 API用于进行通配符字符串匹配

我正在寻找一个通配符字符串匹配API(不是正则表达式匹配).我不能使用除Win32 API之外的任何东西.

c c++ winapi glob wildcard

9
推荐指数
4
解决办法
1万
查看次数

将项目更新为修订版本并恢复为修订版本

我已经开始使用Subversion与TortoiseSVN.如果我打开日志并右键单击旧版本,我会看到两个选项听起来像是回滚到旧版本:"将项目更新为版本"和"还原到此版本".

我知道当您只想回顾旧版本而不是真正更改存储库时,会使用更新到旧版本.Revert是你真正搞砸了,并希望存储库中的最新版本与旧版本相同.

所以说HEAD修订版是100并且我恢复到95.它会将我的工作副本反向合并回95.然后我可以将更改提交到存储库,这将创建修订版101正确吗?如果我更新回到95版,那会有什么不同?它是否仍然只是扭转了上次修订的变化?在将恢复或更新到旧版本之后,我对工作副本的状态有何不同感到困惑.

svn tortoisesvn

161
推荐指数
4
解决办法
10万
查看次数

为什么不通过你的IoC容器?

在这个AutoFac"最佳实践"页面(http://code.google.com/p/autofac/wiki/BestPractices)上,他们说:

不要传递容器给组件访问容器,或将其存储在公共静态属性中,或者在全局"IoC"类上使用Resolve()这样的函数会破坏使用依赖注入的目的.这种设计与服务定位器模式有更多共同之处.如果组件依赖于容器,请查看它们如何使用容器来检索服务,并将这些服务添加到组件(依赖注入)构造函数参数中.

那么,让一个组件"动态"实例化另一个组件会有什么更好的方法呢?他们的第二段不包括"可能"需要创建的组件将取决于系统状态的情况.或者当组件A需要创建X个组件B时.

dependency-injection inversion-of-control

18
推荐指数
2
解决办法
3607
查看次数

循环遍历char []或substring():C#中的效率?

你们中的任何人都知道什么会更好:

一个.获取一个字符串s,转换为char数组并循环遍历它,或者

湾 得到一个字符串s,循环它的子串(s.Substring(i, 1))?

任何提示非常感谢.

c# performance

2
推荐指数
2
解决办法
7002
查看次数

以编程方式Fling ListView Android

有没有办法在listview上以编程方式执行Fling?我知道有猴子可以做所有这些事情,但需要与adb等电脑连接.我想在任何手机上使用我的应用程序,没有猴子.

谢谢,费萨尔

android listview

5
推荐指数
1
解决办法
8160
查看次数