小编kap*_*tan的帖子

流程NHibernate的类映射生成器

是否有适用于Fluent NHibernate的类映射生成器?我需要像db2hbm这样的东西,但我希望它能生成Fluent Class Maps而不是xml映射.

我知道AutoMapping for Fluent但这不是我想要的.我希望能够从数据库中的表生成类映射文件,并将它们推送到我的src存储库.

database nhibernate generator fluent-nhibernate

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

SQL Server的"MONEY"数据类型是十进制浮点还是二进制浮点数?

我找不到任何拒绝或确认SQL Server'MONEY'数据类型是十进制浮点还是二进制浮点的内容.

在描述中它说MONEY类型范围是从-2 ^ 63到2 ^ 63 - 1所以这种意味着它应该是一个二进制浮点.

但在此页面上,它将MONEY列为"精确"数字.哪种情况表明MONEY可能是十进制浮点数(否则它是如何精确的?或者究竟是什么定义?)

那么如果MONEY是十进制浮点数,那么MONEY和DECIMAL(19,4)之间有什么区别?

sql-server floating-point currency decimal

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

Visual Studio 2012 Web Deploy Publish忽略选定的配置以进行转换和构建

当我创建发布配置文件时,我可以选择我希望发布用于此配置文件的配置.选项类似于Debug,Release或任何自定义的选项,如Staging.问题是如果我选择除Release或Debug之外的任何配置,比如Staging,visual studio会完全忽略我的选择并使用Web.Release.config进行转换和构建.我做错了什么还是这个设计?似乎Publish只将Release和Debug识别为可接受的Configuration.有关这个问题的任何想法?

我正在使用Visual Studio 2012 RTM.

更新1 ::"NightlyLive - 任何CPU"配置选择:

在这里,我选择自己的自定义配置"NightlyLive":

在此输入图像描述

以下是我发布时会发生的事情:

6>------ Build started: Project: UI.Next, Configuration: Release Any CPU ------
7>------ Publish started: Project: UI.Next, Configuration: Release Any CPU ------
7>Transformed Web.config using [...]\UI.Next\Web.Release.config into obj\Release\TransformWebConfig\transformed\Web.config.
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它使用Release Any CPU(而不是NightlyLive - 任何CPU)构建项目,并且还使用Web.Release.config(而不是Web.NightlyLive.config)转换Web.config.

更新2 ::配置文件名称重命名为"NightlyLive":

在这里,我将配置文件名称从"test"重命名为"NightlyLive".

在此输入图像描述

这是控制台输出:

6>------ Build started: Project: UI.Next, Configuration: Release Any CPU ------
7>------ Publish started: Project: UI.Next, Configuration: Release Any CPU ------
7>Transformed Web.config using [...]\UI.Next\Web.Release.config into obj\Release\TransformWebConfig\transformed\Web.config.
7>[...]\UI.Next\Web.NightlyLive.config(23,18): Warning : Argument 'debug' did not …
Run Code Online (Sandbox Code Playgroud)

configuration msdeploy webdeploy visual-studio-2012

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

StructureMap从线程局部范围返回已处置的nHibenrate会话对象

[OR]如何为http请求和石英作业使用UoW定义StructureMap生命周期

我有这个使用SM for IoC的Web应用程序.我正在使用HybridHttpOrThreadLocalScoped范围来存储我的nHibernate ISession对象.这适用于我的Web请求的每个请求时段的会话.

但我也有quartz.net安排几个工作.该作业使用相同的工作单元来获取ISession对象.在这种情况下,当调度程序启动作业时,一切正常,并且作业运行良好几次UNTIL作业线程ID重复.

想象一下,当作业被安排时,它开始在具有id 11,12,13的线程中运行,然后再次使用线程ID 11.此时,structuremap返回一个已经处理好的会话对象,我得到"System.ObjectDisposedException:Session is closed!" 错误.

因此,从我所看到的,会话保存在线程本地存储中,在我的工作单元结束后处理会话后,会话对象仍保留在线程本地存储中.似乎在线程终止之后它的本地存储没有被清除,并且当某个新的线程具有相同的id时,structmap会查找旧线程本地存储中的会话(应该为新线程清除我认为并返回已经处理的会话对象.

问题:

  1. 有没有办法清除线程本地存储(终止时)?
  2. 对于线程范围的对象,是否存在等效的"ReleaseAndDisposeAllHttpScopedObjects"?
  3. 有没有办法使处置的对象无效(或弹出),所以即使SM找到它然后它也找不到任何东西并且必须创建一个新的实例?

我希望我明白我的问题.这花费了我几个小时的时间,但我还没有找到解决办法.我很欣赏任何提示:>

更新: 我添加了自己的解决方案,使StructureMap服务的UoW同时处理http请求和石英作业.如果您有更好/更容易/更简单的解决方案,请告诉我.

.net structuremap nhibernate multithreading quartz.net

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

包含PDB文件时,堆栈跟踪中缺少行号

这让我疯了.我使用VS 2008使用C#实现了这个Web服务.我在IIS上发布它.我修改了发布版本,因此将pdb文件与dll一起复制到inetpub上的目标目录中.

web.config文件也有debug = true.

然后我调用一个抛出异常的Web服务.堆栈跟踪不包含行号.我不知道我在这里缺少什么,有什么想法吗?

附加信息: 如果我使用VS内置Web服务器运行Web应用程序,它可以工作,我在堆栈跟踪中获取行号.但是,如果我将VS内置Web服务器使用的相同文件(pdb和dll)复制到IIS,则堆栈跟踪中仍然缺少行号.

似乎有一些与IIS相关的东西忽略了pdb文件!

更新 当我发布到IIS时,所有pdb文件都在bin目录下发布,一切都很好.但是当我转到与我的项目相关的特定目录下的"C:\ Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files"时,我可以看到程序集(.dll)文件都在那里,但没有pdb文件.但是,如果我使用VS内置Web服务器运行项目,则不会发生这种情况.因此,如果我手动将pdb文件复制到临时文件夹,我可以看到行号.

知道为什么pdb文件没有复制到临时文件夹吗?

顺便说一句,当我附加到工作进程时,我可以看到它表示符号已加载!

.net iis publish release pdb-files

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

NHibernate 3 LINQ内连接问题有三个跳转:NotSupportedException

我有一个以前在NHibernate LINQ 2.1.2中工作的查询,但它在NH3中抛出NotSupportedException:

    IQueryable<Tree> query = from flower in GetSession().Query<Flower>()
                             from leaf in flower.Stem.Leaves // <--- the problem is here with three jumps
                             where leaf.Color == Green
                             select flower;
Run Code Online (Sandbox Code Playgroud)

关系如下:

  • 花参考茎
  • 干HasMany花
  • 叶参考词干
  • 干HasMany叶子

从NHibernate.Linq.Visitors.QueryModelVisitor中的第204行抛出异常.这是源代码中的方法:

    public override void VisitAdditionalFromClause(AdditionalFromClause fromClause, QueryModel queryModel, int index)
    {
        if (fromClause is LeftJoinClause)
        {
            // It's a left join
            _hqlTree.AddFromClause(_hqlTree.TreeBuilder.LeftJoin(
                                 HqlGeneratorExpressionTreeVisitor.Visit(fromClause.FromExpression, VisitorParameters).AsExpression(),
                                 _hqlTree.TreeBuilder.Alias(fromClause.ItemName)));
        }
        else if (fromClause.FromExpression is MemberExpression)
        {
            var member = (MemberExpression) fromClause.FromExpression;

            if (member.Expression is QuerySourceReferenceExpression)
            {
                // It's a join …
Run Code Online (Sandbox Code Playgroud)

linq nhibernate join notsupportedexception

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

Web应用程序的细粒度授权

我有一个C#.net应用程序,它为公司的内部用户和外部客户提供服务.我需要做一些细粒度的授权,比如访问哪些资源.所以我需要基于资源或基于属性的东西,而不是基于角色的授权.

我想到的是:

  1. 为我的.net应用程序实现自己的授权机制和sql表
  2. 使用/实现标准机制,如已实施XACML的软件(例如Axiomatics)

第一种方法的问题在于它不是集中式的,也不是标准的,因此其他系统不能将其用于授权.

第二种方法的问题是它可能更慢(由于每个资源需要额外的调用).此外,我不确定市场上的应用程序如何支持像XACML这样的标准授权,以便于将来的集成.

那么,一般来说,对于应该为内部用户和外部客户提供服务的Web应用程序进行细粒度授权的良好实践是什么

authorization xacml abac

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

类库(.dll)应该从哪里读取它的配置?

我已经在研究.net项目,但我认为这个问题适用于任何编程语言/框架.

问题是读取类库配置的好方法是什么.我可以想到以下选项:

  1. 从应用程序域的配置文件中读取.例如,在.net web app的情况下,从web.config中读取
  2. 从为此类lib创建的特定自定义文件中读取.就像为类lib创建一个xml文件并将配置放在那里一样.
  3. 调用者应该传递类lib所需的配置(通过类构造函数).因此,在这种情况下,类lib不直接从配置文件中读取,而是希望调用者发送所需的信息.

任何想法/偏好?

.net dll configuration class-library web-config

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

如何在没有用户名和密码的情况下验证移动应用程序?

我正在构建一个使用 OpenId 来验证用户身份的 Web 应用程序,就像 Stackoverlfow 所做的那样。也会有一个移动应用程序,例如 Android 或 iPhone。这些应用程序必须以某种方式进行身份验证或登录,才能访问数据并更新属于用户的内容。由于无法提供用户名和密码来验证移动设备,我想知道如何实现这一点。

我想到了两种方法:

  1. 在服务器上生成一些必须在设备上输入的密钥。当移动设备发送或请求数据时,该密钥将作为身份验证密钥发送,并且可以通过这种方式链接用户。使用此选项时,密钥应以某种方式传输给用户,这样他就不必输入密钥。可能通过电子邮件、短信或扫描条形码。

  2. 移动应用程序使用浏览器或显示一个集成的 Web 面板,该面板可打开 Web 应用程序的特殊页面。在此页面上,用户必须登录,然后才能允许移动应用程序读取和写入数据。

我的问题是:这两种方法都可行且安全吗?您更喜欢哪一个?有哪些细节需要注意?还有其他方法可以做到这一点吗?如果我没问题的话,就不可能在设备上使用 OpenId,并以这种方式链接移动设备和 web 应用程序,对吧?

iphone authentication mobile android web-applications

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

如何使用流在Java 8中按值范围进行分组

以下是一个示例场景:

想象一下,我们有员工记录,如:

name, age, salary (in 1000 dollars)
   a,  20,     50
   b,  22,     53
   c,  34,     79
Run Code Online (Sandbox Code Playgroud)

等等.目标是计算不同年龄组的平均工资(例如21至30岁和31至40岁等).

我想用这个来做stream,我只是无法理解我需要用它groupingBy来完成这项工作.我想也许我需要定义某种元组年龄范围.有任何想法吗?

java java-8

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