我有一个简单的方法,当使用ASP.NET 4.0路由与Web窗体生成一个将充当某种通配符的路由?
在我看来,在WebForms中,你必须为每个页面指定一个路由 - 我正在寻找某种通用路由,可以在没有特定需要的地方使用,也许直接从路径映射到路径所以......
http://somedomain.com/folder1/folder2/page可能会映射到folder1/folder2/page.aspx
有什么建议?
谢谢
我在我的应用程序中有以下动作映射struts.xml,它与Struts 2.3.28.1一起工作得很好; 调用/editApplication由x.ApplicationHandler.edit方法处理的操作.
<action name="*Application" class="x.ApplicationHandler" method="{1}">
<result name="input">/WEB-INF/application.jsp</result>
<result name="success" type="redirectAction">
<param name="actionName">browseApps</param>
</result>
</action>
Run Code Online (Sandbox Code Playgroud)
升级到Struts 2.5后,这不再有效.试图调用该/editApplication操作会显示404错误:
HTTP状态404 - 没有映射名称空间[/]和操作名称[editApplication]的操作
我已经回顾了Struts 2.5发行说明,并没有看到任何关于基于通配符的动作映射的工作方式的更新.是否有任何理由说明此配置不再有效?
我正在尝试映射由.net处理的经典asp页面的请求,以便它通过自定义的httpmodule运行.
在IIS中我已经重新映射了对aspnet_isapi.dll的asp请求 - 我确信我已经做到了这一点
现在在我的测试应用程序中,我收到此错误:
Server Error in '/TestASPRedirect' Application.
--------------------------------------------------------------------------------
This type of page is not served.
Description: The type of page you have requested is not served because it has been explicitly forbidden. The extension '.asp' may be incorrect. Please review the URL below and make sure that it is spelled correctly.
Requested URL: /testaspredirect/test.asp
Run Code Online (Sandbox Code Playgroud)
在线搜索此错误显示有大量人员遇到cassini问题,但这并不是真正相关,我在XP dev机器上的IIS 5.1上进行测试,并且在IIS6上测试也得到了相同的错误.
我已按照添加和注册httphandler的说明进行操作(请参阅http://support.microsoft.com/default.aspx?scid=kb;en-us;Q308001),但我不知道在ProcessRequest例程中放入什么确保传递请求.什么是默认的.net httphandler,我可以在web.config中映射到这个吗:所以类似于:
<httpHandlers>
<add verb="*" path="*.asp" type="standard.nethttphandler"/>
</httpHandlers>
Run Code Online (Sandbox Code Playgroud)
我怎么告诉asp.net它需要传递ASP请求而不是阻止?
我正在开展一个项目,我希望为每个用户提供唯一的URL.例如,
http://www.SocialNetwork.com/jhon , http://www.SocialNetwork.com/jasmine,
Run Code Online (Sandbox Code Playgroud)
到目前为止,我能够实现这一点: http://www.SocialNetwork.com/profiles/jasmine 这里的配置文件是我可以获取用户名的操作
<constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/>
<constant name="struts.enable.SlashesInActionNames" value="true"/>
<constant name="struts.patternMatcher" value="namedVariable"/>
<action name="profiles/{username}" class="com.example.actions.ViewProfileAction">
<result name="input">/WEB-INF/jsp/profile.jsp</result>
</action>
Run Code Online (Sandbox Code Playgroud)
但我希望实现像这样的东西,http://www.SocialNetwork.com/jasmine
只需域名然后用户名.
像twitter一样:
www.twitter.com/username
怎么做到这一点?