对于我将要与用户帐户进行交互的操作,我想创建一个"TheUser"对象,除了在调用我的控制器上的任何操作时将该对象添加到"ViewData ["TheUser"]".
如果用户已登录,它将从数据库中获取用户的信息,否则,"TheUser"对象将为空.
我尝试在控制器构造函数中访问"User.Identity.Name",但是在调用任何操作之前不会创建它.
我正在查看自定义授权过滤器,但那些不允许我创建"TheUser"对象并将其存储在ViewData中.
这是我想要完成的一个简短的片段:
[Authorize]
public class HomeController : Controller
{
User TheUser;
public HomeController()
{
TheUser = User.Identity.IsAuthenticated ? UserRepository.GetUser(User.Identity.Name) : null;
ViewData["TheUser"] = TheUser;
}
}
Run Code Online (Sandbox Code Playgroud) 是否可以(使用jQuery或其他方式)将某个元素的:hover
样式设置为样式表中定义的样式?
.regStyle {
background-color: #000;
}
.regStyle:hover {
background-color: #fff;
}
Trying it out
$("#differentButton").click(function(){
// this doesn't work
$("#someElement").addClass("regStyle:hover").remove("regStyle");
});
Run Code Online (Sandbox Code Playgroud) 我的应用程序要求每天运行一个任务,其中需要压缩100,000多个PDF(每个~50kb)文件.目前,我正在使用7-zip和调用7za.exe
(带有7-zip的命令行工具)来压缩每个文件(文件位于许多不同的文件夹中).
这种方法有哪些局限性,如何解决?7zip
存档是否有文件大小或文件数限制?
我已经实现了自己的角色提供程序,而我没有使用默认的角色提供程序.它的工作原理是,它可以告诉某人应该或不应该能够查看页面.
但是,它可以执行以下操作:
我还没有弄清楚如何使用Authorize属性执行此操作,我只有:
[Authorize(Roles="Admin")]
Run Code Online (Sandbox Code Playgroud)
基本上我需要根据授权的哪个部分失败重定向到不同的页面.
我已经看过它是否是web.config中的内容,但没有明显的跳出来.
我有一个Oracle存储过程,它接受两个参数:自定义数据类型和字符串.
在Oracle中调用存储过程,我会执行以下操作:
EXECUTE MY_STORED_PROCEDURE(MYTYPE_T(99, 231), 'mystring')
Run Code Online (Sandbox Code Playgroud)
如何使用C#执行此操作?我知道我需要将命令设置为存储过程,但如何将第一个参数指定为自定义数据类型?
MYTYPE_T
是TABLE OF NUMBER
通过创建
CREATE OR REPLACE TYPE mytype_t AS TABLE OF NUMBER ;
Run Code Online (Sandbox Code Playgroud) 我目前正在为上述问题寻找一个很好的解决方案.我们可能会在.NET上运行表单身份验证.
我运行了一个ASP.NET MVC应用程序,a.mydomain.com
并运行了一个基于Java的应用程序b.mydomain.com
.
什么是最好的方法,这样我就不必登录每个应用程序.比如,当我登录a.mydomain.com
然后打开Java时b.mydomain.com
,它会检查并看到我已经登录了?
WCF AuthenticationService类是否适用于此?我可以从JavaScript中做一个AJAX请求b.mydomain.com
来检查我是否已经在.NET应用程序中登录了吗?
我正在使用AutoFixture,Moq和XUnit扩展([Theory]
属性),如本博客文章http://blog.ploeh.dk/2010/10/08/AutoDataTheorieswithAutoFixture中所述.
我注意到大多数单元测试看起来像这样:
[Theory, AutoMoqData]
public void Test(
[Frozen] Mock<IServiceOne> serviceOne,
[Frozen] Mock<IServiceTwo> serviceTwo,
MyClass classUnderTest)
{
// Arrange
serviceOne
.Setup(m => m.Get(It.IsAny<int>()));
serviceTwo
.Setup(m => m.Delete(It.IsAny<int>()));
// MyClass has a constructor with arguments for IServiceOne, and IServiceTwo
// classUnderTest will use the two mocks specified above
// Act
var result = classUnderTest.Foo();
// Assert
Assert.True(result);
}
Run Code Online (Sandbox Code Playgroud)
与总是装饰模具相反[Frozen]
,是否有办法设置夹具以始终冻结模具?
这是AutoMoqData
属性:
public class AutoMoqDataAttribute : AutoDataAttribute
{
public AutoMoqDataAttribute()
: base(new Fixture().Customize(new AutoMoqCustomization()))
{
} …
Run Code Online (Sandbox Code Playgroud) VS 2010 Beta 2,.NET 4.
在我的ASP.NET MVC 2应用程序中,当我将表单提交给接受实体框架创建的对象的操作方法时,我收到以下错误:
Exception Details: System.Data.ConstraintException: This property cannot be set to a
null value.
Source Error:
Line 4500: OnTextChanging(value);
Line 4501: ReportPropertyChanging("Text");
Line 4502: _Text = StructuralObject.SetValidValue(value, false);
Line 4503: ReportPropertyChanged("Text");
Line 4504: OnTextChanged();
Run Code Online (Sandbox Code Playgroud)
该属性称为"Text",在MS SQL 2008中的类型为"text NOT NULL".
我的操作将检查值是否为nullorempty,如果是,则会添加模型错误,但是一旦我提交表单,我就会收到错误.
我已经成功创建了一个多项目解决方案模板.但是,我想要做的是使用解决方案的名称重命名每个项目的开头.
所以我的项目:
将被重命名为
SolutionName
用户在创建项目时的名称在哪里.
我读过以下文章:
但似乎没有人回答我的具体情况.
templates visual-studio-2010 project-template visual-studio-templates
我们有一个ASP.NET MVC应用程序,使用IoC将服务引用注入控制器,将存储库引用注入服务.
控制器必须具有瞬态寿命,因为它们必须根据请求进行实例化.但是,如果整个IoC堆栈按请求进行新增,则会产生一些开销.我们有比我想要的更多的依赖项,一个选项是拥有更多的控制器,每个控制器在堆栈中具有更少的依赖性.但是,暂时把它放在一边,我的问题是,如果一个注入单身的对象具有一个具有瞬态生命周期的依赖关系,那么这些依赖关系是否会因为被Singleton拥有而被视为单身?
具体来说,如果我们有以下内容
RepositoryA(需要是瞬态的,因为当前设计在构造函数中注入用户上下文)ServiceA(单例)ControllerA(瞬态)
实例化如下:
public ServiceA(IRepositoryA repo) {}
public ControllerA(IServiceA service) {}
Run Code Online (Sandbox Code Playgroud)
RepositoryA实际上是否会被实例化一次因为ServiceA被实例化一次?
我99%肯定答案是肯定的,但只想确认我必须在这里做的重构数量.
另外,假设服务和存储库没有任何用户/请求特定的实例变量,作为一种设计方法,是否有任何理由不对它们使用Singleton生命周期?
c# ×6
asp.net-mvc ×3
.net-4.0 ×1
7zip ×1
ado.net ×1
autofixture ×1
css ×1
jquery ×1
moq ×1
oracle ×1
templates ×1
unit-testing ×1
xunit.net ×1