问题列表 - 第36830页

使用SysCache跨会话的NHibernate缓存实体

我正在开发一个Web应用程序,我希望缓存在Web请求中持续存在.我知道第一级缓存只是每个会话.我启用了二级缓存,这适用于查询.

但是,二级缓存似乎不适用于"获取"实体...因此,应用程序所做的大部分数据库工作都不会跨Web请求进行缓存.

这是正常/理想的行为吗?我正在审查一个特定的页面,它会对数据库进行大量的往返,尽管每个查询都很快,如果可以缓存实体,这些似乎是不必要的.

编辑

好的,所以我启用了二级缓存,并且正在进行查询.我似乎无法让它为实体工作.我Cache.Is(c => c.ReadWrite())在我正在测试的主要实体上(流利的nhibernate).但不,它每次都会击中数据库.有任何想法吗?

编辑

我尝试过这样的交易:

public override Accommodation Get(int id) 
{ 
    using (var tx = Session.BeginTransaction()) 
    { 
        var accomm = Session.Get<Accommodation>(id); 
        tx.Commit(); 
        return accomm; 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

我的映射是这样的(你可以看到我们有一个讨厌的架构):

public void Override(AutoMapping<Core.Entities.Itinerary.Accommodation.Accommodation> mapping)
{
    mapping.HasManyToMany(x => x.Features).Table("AccommodationLinkFeatureType").ChildKeyColumn("FeatureTypeId").NotFound.Ignore();
    mapping.HasManyToMany(x => x.SimilarAccommodation).Table("AccommodationLinkSimilarAccommodation").ChildKeyColumn("SimilarAccommodationId").NotFound.Ignore();
    mapping.HasMany(x => x.TourItinerary).Table("AccommodationTourItinerary");
    mapping.HasOne(x => x.Images).ForeignKey("AccommodationId").Cascade.All().Not.LazyLoad();
    mapping.References(x => x.CollectionType).NotFound.Ignore().Not.LazyLoad();
    mapping.References(x => x.AccommodationUnitType).NotFound.Ignore().Not.LazyLoad();
    Cache.Is(c => c.ReadWrite());
}
Run Code Online (Sandbox Code Playgroud)

但是,这似乎仍然没有从二级缓存中获取.

顺便说一句,我看到很多在线使用的例子,Cache.ReadWrite()但我只能Is在Cache帮助器上看到一个方法,所以我正在尝试Cache.Is(c => c.ReadWrite())- 更改流畅的界面?

nhibernate second-level-cache

8
推荐指数
1
解决办法
1537
查看次数

C#多文本文件处理

假设您要编写一个处理多个文本文件的应用程序,在命令行中作为参数提供(例如,MyProcessor file1 file2 ...).这是一个非常常见的任务,经常使用Perl,但是如果想直接利用.NET并使用C#会怎样.

什么是最简单的C#4.0应用程序锅炉板代码,允许您这样做?它应该基本上包括逐行处理每个文件的每一行,并通过调用一个函数来处理它,或者可能有更好的方法来进行这种"组"行处理(例如,LINQ或其他一些方法).

c# visual-studio-2010 c#-4.0

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

MVC 3部分页面(Razor)和MVC 3视图页面与布局(Razor)之间的区别?

在MVC 3 Beta中,模板MVC 3 Partial Page(Razor)MVC 3 View Page with Layout(Razor)之间是否存在差异?

我在我的应用程序中添加了一个部分页面(_partialList).现在当我只返回局部视图时,它会应用_ViewStart.cshtml中的布局 - 非常像带有布局的标准视图页面.

    if (Request.IsAjaxRequest())
        return View("_partialList", someModelData);
Run Code Online (Sandbox Code Playgroud)

"部分"页面如何与具有布局的标准视图页面区分开来?在任何特定情况下,两者的表现会不同吗?

asp.net-mvc partial-views razor

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

是否有一个紧凑的Perl操作来切割阵列中的替代元素?

如果我myarray在Python中有一个数组,我可以使用切片表示法

myarray[0::2]
Run Code Online (Sandbox Code Playgroud)

仅选择偶数索引元素.例如:

>>> ar = [ "zero", "one", "two", "three", "four", "five", "six" ]
>>> ar [ 0 : : 2 ]
['zero', 'two', 'four', 'six']
Run Code Online (Sandbox Code Playgroud)

Perl中有类似的设施吗?

谢谢.

syntax perl

15
推荐指数
6
解决办法
3084
查看次数

Java Reflection用原始类型调用构造函数

我在我的测试框架中有一个方法,它创建一个类的实例,具体取决于传入的参数:

public void test(Object... constructorArgs) throws Exception {
    Constructor<T> con;
    if (constructorArgs.length > 0) {
        Class<?>[] parameterTypes = new Class<?>[constructorArgs.length];
        for (int i = 0; i < constructorArgs.length; i++) {
            parameterTypes[i] = constructorArgs[i].getClass();  
        }
        con = clazz.getConstructor(parameterTypes);
    } else {
        con = clazz.getConstructor();
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果构造函数具有基本类型,则不起作用,如下所示:

public Range(String name, int lowerBound, int upperBound) { ... }

.test("a", 1, 3);
Run Code Online (Sandbox Code Playgroud)

结果是:

java.lang.NoSuchMethodException: Range.<init>(java.lang.String, java.lang.Integer, java.lang.Integer)
Run Code Online (Sandbox Code Playgroud)

原始int是自动装入对象版本的,但是如何让它们返回以调用构造函数?

java reflection

47
推荐指数
4
解决办法
3万
查看次数

CMake自定义清理命令

在我的CMake项目中,我希望在运行干净目标时发生一些自定义行为.但是,如果我这样做

add_dependencies(clean extra-clean)
Run Code Online (Sandbox Code Playgroud)

它失败了

add_dependencies Adding dependency to non-existent target: clean
Run Code Online (Sandbox Code Playgroud)

甚至可以进行自定义清洁行为吗?

编辑:我正在运行一些外部工具作为构建的一部分.这些工具会生成大量文件,但只需要求工具执行此操作即可清除它们.理想情况下,我可以向clean目标添加一个自定义目标,以调用该工具进行清理.

command cmake

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

你如何在Python中将文件读入列表?

我想提示用户生成一些随机数并保存到文件中.他给了我们这一部分.我们要做的部分是打开该文件,将数字转换为列表,然后找到平均值,标准偏差等,而不使用简单的内置Python工具.

我已经尝试使用open,但它给了我无效的语法(我选择的文件名是"数字",它保存到"My Documents"自动,所以我尝试open(numbers, 'r')open(C:\name\MyDocuments\numbers, 'r')并没有一个工作).

python file

129
推荐指数
7
解决办法
50万
查看次数

将字符串与其中的换行符进行比较?

我正在尝试开发一个脚本,将运行时生成的字符串与用户输入的字符串进行比较.不幸的是,由于用户使用文本框输入他的代码,我在用户输入的字符串中得到^ M. 例如,如果我将这些字符串打印到文件我得到这个:

User Input:
1^M 
2^M
3

Output of script:
1
2
3
Run Code Online (Sandbox Code Playgroud)

显然,当我尝试比较这两个字符串时,我得到了一个错误.什么是最有效的方法来解决这个问题?如果您没有注意到,用户"donot"输入的所有行都以"^ M"结尾.此用户字符串中的最后一行没有^ M,而代码输出末尾有"\n".

python string

0
推荐指数
1
解决办法
3846
查看次数

对NSDictionary的NSArray进行排序

我必须对一组字典进行排序,但我必须按字典中的对象排序.

sorting iphone objective-c nsarray

3
推荐指数
1
解决办法
6263
查看次数

Spring @Autowired有2个相同类型的bean

我有以下定义.

@Autowired
DaoType1<object1> someDao;

@Autowired
DaoType1<object1> someListDao;
Run Code Online (Sandbox Code Playgroud)

在我的bean定义中,我有两个相同类型的bean

<bean id="someDao" class="com.example.DaoType1" />
<bean id="someListDao" class="com.example.DaoType1" />
Run Code Online (Sandbox Code Playgroud)

第二个bean是从另一个xml文件导入的,如果这有所不同的话.它们也有不同的属性.为什么spring没有抛出错误,因为已经定义了2个相同类型的bean.它是否使用变量名称,因为它们匹配bean ID.如果我将@Qualifiers用于两个不同的bean,则dao是不同的,并且功能按预期工作.

这是一个更简洁的版本.因为我没有相关性,所以我遗漏了其他豆子.

applicationContext.xml中

<import resource="classpath:dm-services-crud.xml"/>
<bean id="ruleListCrudService" class="com.idna.dm.service.crud.impl.RuleCrudServiceImpl"> 
    <property name="crudDao" ref="ruleListCrudDao" />
</bean>
Run Code Online (Sandbox Code Playgroud)

DM-服务,crud.xml

    <bean id="ruleCrudService" class="com.idna.dm.service.crud.impl.RuleCrudServiceImpl">
        <property name="crudDao" ref="ruleCrudDao" />
        <property name="ruleNetworkOfNodesCrudService" ref="ruleNetworkOfNodesCrudService" />
        <property name="elementMappingsCrudService" ref="elementMappingsCrudService" />
        <property name="ruleCrudDao" ref="newRuleCrudDao"/>
   </bean>
Run Code Online (Sandbox Code Playgroud)

default-autowire根本不存在于我的任何xml文件中.

java spring

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