日期:2014-05-18  浏览次数:20598 次

两个项目整合时牵扯到两个Url重写怎么合并(狂甩100分求解)
<configSections>
<section name="RewriterConfig"type="Club.Common.URLRewriter.Config.RewriterConfigSerializerSectionHandler, Club.Common"/>
<section 
name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
</configSections>
这样是肯定错的
但是两个命名空间不同并且第一个还是自己写的重写Url的类!第二个是用的常见集成dll!
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/home/([\d]+)/index\.aspx</LookFor>
<SendTo><![CDATA[~/home/index.aspx?RegisterId=$1]]></SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
像这种情况该怎么解决呢?

------解决方案--------------------
每个项目应该都生成了读取Config类型的强类型类了。你合并以后,那个类需要重写,并且替换掉所有使用旧类读取配置的地方(全局查找替换)
------解决方案--------------------
试一试
<section name="RewriterConfig_1" type="Club.Common.URLRewriter.Config.RewriterConfigSerializerSectionHandler, Club.Common"/>
<section name="RewriterConfig_2" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/> 

<RewriterConfig_1>
<Rules>
<RewriterRule>
...
</RewriterRule>
</Rules>
</RewriterConfig_1>

<RewriterRule_2>
....
</RewriterRule>
</Rules>
</RewriterConfig_2>