asp.net-mvc – “Inject”Request.Url.Hosts – ASP.net MVC
发布时间:2020-12-16 06:51:44 所属栏目:asp.Net 来源:网络整理
导读:在我的ASP.net MVC应用程序中,我需要获取应用程序的主机,因为我必须区分多个域/实例. 考虑到良好的设计和可测试性,我不希望这样: public ViewResult Show(int id){ string host = Request.Url.Host; ....} 是否有可能通过构造函数“注入”它. 对于这个问题,
在我的ASP.net MVC应用程序中,我需要获取应用程序的主机,因为我必须区分多个域/实例.
考虑到良好的设计和可测试性,我不希望这样: public ViewResult Show(int id) { string host = Request.Url.Host; .... } 是否有可能通过构造函数“注入”它. 对于这个问题,最干净的解决方案是什么? 解决方法
您还可以为控制器使用一些构造函数,如下所示:
public MyController() : this(DefaultHostGetter) { } public MyController(Func<string> hostGetter) { this.hostGetter = hostGetter; } private string DefaultHostGetter() { return this.Request.Url.Host; } 视图操作将是: public ViewResult Show(int id) { string host = this.hostGetter(); .... } 然后,您可以通过提供不同的主机getter(模拟)来测试您的控制器. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – TempData [“sth”]为bool
- asp.net-mvc – 带.Net MVC的JQuery UI自动完成:如何在选中
- asp.net – 在ASPX中为RadioButtonList设置ListItem值为常量
- asp.net – 在项目之间共享aspx页面
- asp.net-mvc – ASP.NET MVC 3更改摘要
- asp.net-mvc – 针对MVC Web应用程序的域驱动设计与数据库驱
- iis-7 – Response.Redirect / End不在IIS7上的Classic ASP
- asp.net-mvc – Telerik MVC Grid,从自定义命令删除ajax后重
- ASP.NET会话ID在浏览器选项卡之间共享
- asp.net – 部署后初始加载时出现奇怪的log4net引用错误
推荐文章
站长推荐
- netcore服务程序暴力退出导致的业务数据不一致的
- asp.net web-api – ASP.Net Web API模型绑定不工
- asp.net-mvc – 如何使输入字段仅允许使用EF和数
- asp.net-mvc – User.IsInRole不起作用
- asp.net-mvc – MVC5 – 数据注释 – 客户端验证
- asp.net – RDLC报告>图表>如何垂直显示列名称/标
- asp.net – 我如何使用AJAX来确定用户的会话是否
- asp.net-mvc-2 – ASP.NET MVC 2多个PartialView
- ASP.NET Core使用Elasticsearch记录NLog日志
- asp.net – 从WebMethod访问函数背后的代码
热点阅读