asp.net-mvc-3 – 使用AppHarbor处理URL而不修改所有我的控制器
我正在尝试在AppHarbor上托管一个MVC 3应用程序(FunnelWeb).由于我仍然不清楚的原因,当我的路线只是一个控制器动作(例如,mysite / admin是管理员索引,mysite /登录是管理员登录)一切正常,但如果我在路线中有其他任何东西(例如变量如{* page})我的URL将是mysite:12345 / mypage(其中12345是AppHarbor分配的端口号,mypage是我正在请求的页面的名称).这使得请求失败,因为端口12345未公开.
AppHarbor使用load balancing在多个IIS之间分发请求.这是他们做事的方式,这就是内部请求被路由到一些非标准端口的原因.我没有问题,但我有一个问题,MVC尝试将我路由到该内部URL. 我不指责这里;这是没有人的错:)所以让我们转到这个问题: >为什么请求仅具有Controller Action的路由和请求具有{* page}之类的变量的路由之间存在差异?请技术请:) 提前致谢. 更新:巧合的是,我观察到的行为符合我达成的结论.但是,该问题与ASP.Net MVC路由无关.简而言之,FunnelWeb强制使用小写URL,因此,每当收到对资源的??请求时,如果需要,它会将其转换为小写,并发出301响应.问题是,在为301响应创建URL时,请求URL(绝对URL)现在是从负载均衡器向IIS发出请求时使用的URL,而不是从客户端发出的URL;因此,请求失败. 解决方法
这是AppHarbor上FunnelWeb网址生成的已知问题.使用标准MVC方法生成相对URL时,这不是问题. AppHarbor在知识库中拥有
short guide and sample on how the generate public URLs个.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用
- 动手造轮子:实现一个简单的依赖注入(二) --- 服务注册优化
- asp.net-mvc – 没有无参数构造函数,结构图,新区域
- asp.net-mvc – Basic Umbraco 6.1.1 SurfaceController问题
- asp.net – 指向同一页面的动作链接
- 如何在asp.net网站上使用aspnetdb数据库
- .net – 传递的主键值的数量必须与实体上定义的主键值的数量
- asp.net-mvc – 在Azure上使用LocalDb MDF文件
- ASP.NET MVC尝试加载旧版本的Owin程序集
- asp.net – URL长度的最佳限制是什么? 100,200
- asp.net – 评论未使用的代码会不会给我的页面带
- asp.net-mvc – 使用Ajax在ASP.NET MVC的Kendo U
- ASP.NET GridView CommandField作为TemplateFiel
- asp.net-mvc – 网格中的kendoui ClientTemplate
- Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ex
- asp.net – MVC3客户端验证不稳定/不一致
- asp.net-mvc-3 – 拒绝访问剃刀视图
- asp.net – 在代码GZipping中的IIS压缩?
- asp.net – 页面刷新和页面回发之间的区别
- .net core入门-发布及部署_异常(处理程序“aspNe