想了解asp.net-mvc–如何使用rhinomocks在MVCRC1中存根HttpSessionState?的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于rhinocommonsdk的
想了解asp.net-mvc – 如何使用rhino mocks在MVC RC1中存根HttpSessionState?的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于rhinocommon sdk的相关问题,此外,我们还将为您介绍关于asp.net-core-mvc – 如何在Asp.Net Core MVC 1.0(又名MVC 6 RC1)中访问Session Timeout值?、asp.net-mvc – ASP.NET MVC 1和2在Mono 2.4与Fluent NHibernate、asp.net-mvc – ASP.NET MVC 2中的DataAnnotations – 阻止MVC将RequiredAttribute应用于不可为空的DateTime等属性、asp.net-mvc – ASP.NET MVC 3:如何强制ActionLink执行HttpPost而不是HttpGet?的新知识。
本文目录一览:- asp.net-mvc – 如何使用rhino mocks在MVC RC1中存根HttpSessionState?(rhinocommon sdk)
- asp.net-core-mvc – 如何在Asp.Net Core MVC 1.0(又名MVC 6 RC1)中访问Session Timeout值?
- asp.net-mvc – ASP.NET MVC 1和2在Mono 2.4与Fluent NHibernate
- asp.net-mvc – ASP.NET MVC 2中的DataAnnotations – 阻止MVC将RequiredAttribute应用于不可为空的DateTime等属性
- asp.net-mvc – ASP.NET MVC 3:如何强制ActionLink执行HttpPost而不是HttpGet?
asp.net-mvc – 如何使用rhino mocks在MVC RC1中存根HttpSessionState?(rhinocommon sdk)
var mockContext = MockRepository.GenerateStub<ControllerContext>(); mockContext.Stub(x => x.HttpContext.Session["MyKey"]).Return("MyValue");
我究竟做错了什么?
编辑:我刚刚确认我有这个帖子的最新版本的rhino.
解决方法
我正在使用HttpContext的模拟:
public class HttpContextMock { private readonly HttpContextBase _contextBase; private readonly HttpRequestBase _requestBase; private readonly HttpResponseBase _responseBase; private readonly HttpSessionStateBase _sessionStateBase; private readonly HttpServerUtilityBase _serverUtilityBase; public HttpContextBase Context { get { return _contextBase; } } public HttpRequestBase Request { get { return _requestBase; } } public HttpResponseBase Response { get { return _responseBase; } } public HttpSessionStateBase Session { get { return _sessionStateBase; } } public HttpServerUtilityBase Server { get { return _serverUtilityBase; } } public HttpContextMock() { _contextBase = MockRepository.GenerateStub<HttpContextBase>(); _requestBase = MockRepository.GenerateStub<HttpRequestBase>(); _responseBase = MockRepository.GenerateStub<HttpResponseBase>(); _sessionStateBase = MockRepository.GenerateStub<HttpSessionStateBase>(); _serverUtilityBase = MockRepository.GenerateStub<HttpServerUtilityBase>(); _contextBase.Stub(x => x.Request).Return(_requestBase); _contextBase.Stub(x => x.Response).Return(_responseBase); _contextBase.Stub(x => x.Session).Return(_sessionStateBase); _contextBase.Stub(x => x.Server).Return(_serverUtilityBase); _requestBase.Stub(x => x.IsAuthenticated).Return(true); _contextBase.User = new GenericPrincipal(new GenericIdentity("a@a.a"),new string[] {"Admin"}); } }
在测试的SetUp中,我创建了一个控制器的实例:
[SetUp] public override void TestSetUp() { base.TestSetUp(); repository = MockRepository.GenerateMock<IFooRepository>(); controller = new FooController() { FooRepository = repository,UserRepository = userMockRepository }; controller.ControllerContext = new ControllerContext(context.Context,new RouteData(),controller); }
一切正常,我可以为会话和许多其他事情添加参数.希望这可以帮助.
asp.net-core-mvc – 如何在Asp.Net Core MVC 1.0(又名MVC 6 RC1)中访问Session Timeout值?
services.AddSession(options => { options.IdleTimeout = TimeSpan.FromMinutes(30); options.CookieName = "Session"; });
我的问题是:在应用程序的其他地方,如何访问此IdleTimeout值?
我希望从HttpContext.Session对象中找到它作为属性,但它似乎并不存在.我搜索过高低,这似乎没有记录在任何地方.思考?
解决方法
你可以用反射得到它,但它非常粗糙.以下示例使用this answer.
public IActionResult Index() { var value = GetInstanceField(typeof(distributedSession),HttpContext.Session,"_idleTimeout"); return View(); }
我建议将值存储在配置文件或某个内部类中.
asp.net-mvc – ASP.NET MVC 1和2在Mono 2.4与Fluent NHibernate
> ASP.NET MVC on mono没有任何持久性模型支持,并使用nhaml作为视图引擎
> S#aml架构,这是一个非常好的框架imho,但它取决于太多的东西,这不奏效在单声道(如windsor)
第一部分工作正常,我没有遇到任何重大问题.但是我不能让第二部分工作.似乎它是依赖Castle.Windsor打破了整个单声道支持(但也可能有其他的部分).
因此,我决定创建一个替代框架,借鉴了s#arp架构的一些想法,但是设计为在单声道下工作(如果我能够做到这一点,我将为社区发布它) .控制器和视图部分工作正常(这里没有太多的魔法,他们一直在工作),但是在开始持久性部分之前我有一些问题:
>什么NHibernate版本在单声道下工作?我听说过1.2是正常工作. 2.0.1 / 2.1测试版在单声道下工作吗?
> Fluent.NHibernate和NHibernate.Linq是否在单声道下工作? (对于后者来说,似乎需要一些在单声道中不可取的依赖)
>在单声道下,NHibernate的持久性支持有什么好的选择吗?
其他问题:
>有没有任何具有单声道持久性asp.net mvc支持的框架,还是我想到的第一个?
>如果你已经做到了这一点:你对稳定性/可用性有什么看法?
感谢您的答案
编辑:更新了支持ASP.NET MVC 2:http://shaml.sztupy.hu/的框架
解决方法
兼容性非常好有一些错误和差异,而不是Windows,但一旦你了解到它们是什么更容易(开始可能会有痛苦!)
我使用NHibernate(2.1)FluentNhibernate,StructureMap,NBehave,Moq和open id lib,它们都似乎按预期工作.
至于稳定性,由于我已经排除了我的代码中的主要错误,我没有任何问题.
可用性,这是一个完全不同的平台,所以你需要以开放的心态来到它,并准备离开窗口的方式.好消息是,一旦你做的事情变得更容易. Apache比IIS好很多,配置和管理一个linux盒子比Windows容易.
我很高兴我选择单声道..对不起,这开始听起来像一个公关驱动器 – 但我真的很高兴!
asp.net-mvc – ASP.NET MVC 2中的DataAnnotations – 阻止MVC将RequiredAttribute应用于不可为空的DateTime等属性
我的问题是我希望能够使用我的自定义必需验证器指定一个DateTime属性,该验证器从资源文件中获取错误消息(我不想告诉requiredAttribute资源文件的类型和每次我申请它都是关键.这就是为什么我要定制一个.)
如何防止框架将所需属性应用于DateTime和int等类型的属性,而不将它们更改为可为空.
谢谢
解决方法
DataAnnotationsModelValidatorProvider.AddImplicitrequiredAttributeForValueTypes = false;
DataAnnotationsModelValidatorProvider类有一个名为“AddImplicitrequiredAttributeForValueTypes”的静态属性,默认情况下必须为true,并将其设置为false可解决问题.
(对于任何试图做同样事情的人来说,我都记录了这个条目here)
asp.net-mvc – ASP.NET MVC 3:如何强制ActionLink执行HttpPost而不是HttpGet?
解决方法
@ActionLink("Delete","Delete","Item",new {@id=4},new { @})
现在一些jQuery代码
<script type="text/javascript"> $(function(){ $("a.postLink").click(function(e){ e.preventDefault(); $.post($(this).attr("href"),function(data){ // got the result in data variable. do whatever you want Now //may be reload the page }); }); }); </script>
确保您有一个HttpPost类型的Action方法来处理此请求
[HttpPost] public ActionResult Delete(int id) { // do something awesome here and return something }
我们今天的关于asp.net-mvc – 如何使用rhino mocks在MVC RC1中存根HttpSessionState?和rhinocommon sdk的分享就到这里,谢谢您的阅读,如果想了解更多关于asp.net-core-mvc – 如何在Asp.Net Core MVC 1.0(又名MVC 6 RC1)中访问Session Timeout值?、asp.net-mvc – ASP.NET MVC 1和2在Mono 2.4与Fluent NHibernate、asp.net-mvc – ASP.NET MVC 2中的DataAnnotations – 阻止MVC将RequiredAttribute应用于不可为空的DateTime等属性、asp.net-mvc – ASP.NET MVC 3:如何强制ActionLink执行HttpPost而不是HttpGet?的相关信息,可以在本站进行搜索。
本文标签: