小编Tho*_*mas的帖子

MSBuild DeployOnBuild = true不发布

我有一个Visual Studio 2010 MVC2 Web应用程序,我正在使用Hudson通过命令行构建.我想让Hudson发布一个Web输出,所以我将DeployOnBuild = true和CreatePackageOnPublish = True标记添加到我的命令行.

我的命令是:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe 
   /target:Clean,Build 
   /property:Configuration=Debug;DeployOnBuild=True;CreatePackageOnPublish=True; 
   [my project name.csproj]
Run Code Online (Sandbox Code Playgroud)

在我的开发机器(Windows 7)上运行此命令成功发布了一个Web输出\obj\Debug\Package\PackageTmp\.但是在Hudson服务器(WS 2008)上运行它会成功编译,但它不会发布.相同的命令,相同版本的MSBuild,相同的源代码.

我已经尝试了/t:Publish目标,这给了我一个Skipping Unpublishable Project响应,正如我在其他几个人的帖子中看到的那样.

我已经尝试将DeployOnBuild=TrueCreatePackageOnPublish=True标签添加到我的项目文件中,并且没有任何变化.

有关为什么不发布的任何想法?我错误地使用这些标签吗?我确信这里有一些我没看到的东西.

asp.net msbuild publishing asp.net-mvc-2

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

使用Moq进行通用方法

完全简单的情况,但我不能让它工作.我遇到了使用Moq模拟泛型方法(在本例中,在Ninject内核接口上)的问题:

T Get<T>();
Run Code Online (Sandbox Code Playgroud)

我设置了我的模拟对象:

Mock<IKernel> mockKernel = new Mock<IKernel>();
        mockKernel.Setup(x => x.Get<IGetUserQuery>()).Returns(new GetUserQuery());
Run Code Online (Sandbox Code Playgroud)

在运行时,我得到以下异常:

Expression references a method that does not belong to the mocked object: x => x.Get<IGetUserQuery>(new[] {  })
Run Code Online (Sandbox Code Playgroud)

知道为什么要扔这个吗?我之前在没有问题的情况下嘲笑Moq中的泛型......是否存在不支持通用模拟的情况?这似乎是一个简单的案例.唯一的缺点是IGetUserQuery继承了泛型类型:

IGetUserQuery : ICommand<UserQueryInput, UserQueryOutput>
Run Code Online (Sandbox Code Playgroud)

我没有看到这会产生问题,因为这个ICommand实现的泛型类型是由IGetUserQuery静态定义的,所以我怀疑这会让Moq感到困惑.

提前致谢

c# generics moq mocking

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

多租户数据库中的复合键

我正在设计一个纯多租户数据库(一个数据库,一个模式),我想在我的大多数表中保留一个Tenant_Id作为安全措施,以确保数据不会落入错误的租户手中.看起来这需要每个表上的复合键.

例:

在单租户情况下,我会有一个主键:

Animal_Id (PK)  
Animal_Type  
Animal_Name  
Run Code Online (Sandbox Code Playgroud)

在多租户情况下,我会为Tenant_Id添加另一个主键:

Animal_Id (PK)  
Tenant_Id (PK)  
Animal_Type  
Animal_Name  
Run Code Online (Sandbox Code Playgroud)

是否在每个表中添加一个Tenant_Id列意味着我需要在每个表中都有一个复合键,或者有一种安全的方法可以避免这种情况吗?复合键是可以的,但如果可以,我想避免使用它们.

database security multi-tenant

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

使用Forms身份验证在ASP.NET MVC3中注销用户的其他会话

我正在使用表单身份验证构建一个ASP.NET MVC3应用程序,我想在用户登录时注销用户的所有现有会话.我正在尝试阻止不同工作站的多个人登录并在相同的帐户.

有没有一种标准的处理方式?注销现有会话很简单,但我没有遇到过通过同一帐户检查其他会话并将其注销的方法.

关于如何破解这个问题,我有一些想法,但我很好奇是否已经建立了使用IIS或FormsAuthentication API的方法.

forms-authentication session-management asp.net-mvc-3

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

NHibernate连接池

我正在考虑将Fluent NHibernate用于SQL Server 2008的新应用程序,我无法理解我所看到的连接处理行为.

我正在使用sp_who2监视连接,这是我看到的:

  1. 创建SessionFactory时,将打开一个连接.在应用程序被杀之前,此连接似乎保持打开状态.

  2. 打开新会话时不会打开任何连接.(没关系,我理解NHibernate会等到最后一刻创建数据库连接).

  3. 即使我通过NHibernate运行查询,也没有打开新的连接.我必须假设它正在使用创建SessionFactory时创建的连接,该连接仍然是打开的.我在查询之后(在会话关闭之前)设置了断点,并且sp_who中没有出现新的会话.

通过单个连接运行整个应用程序是不可接受的(显然). 如何确保每个ISession都有自己的连接? 我确信这里有一些明显的东西......

提前致谢.

nhibernate fluent-nhibernate

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

Fluent NHibernate中的NHibernate配置属性

我正在考虑将Fluent NHibernate用于我的项目,我还没有找到任何关于FH是否支持NHibernate设置(如show_sql和prepare_sql)的文档.我可以在没有show_sql的情况下生活,但prepare_sql对于确保运行时的良好性能非常重要.

谁能告诉我是否可以在Fluent NHibernate中配置这些设置?

nhibernate orm fluent-nhibernate

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

EntityFramework Database First -- 自动设置 StoreGeneratePattern 值

我有一个首先生成数据库的实体框架上下文。我正在添加一个带有将由数据库生成的 GUID PK 的表。当我从数据库生成 EDMX 模型时,它将 StoreGeneratePattern 设置为“None”。

我需要手动将应用程序的 StoreGeneratePattern 更改为“Identity”,以便让数据库创建 ID。

有没有办法确保 EDMX 自动正确设置该值?

.net sql-server entity-framework

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