2017-08-02 9 views
0

私は会社のレガシープロジェクトでいくつかの作業をしていますが、クリーンアップしたいweb.configファイルのかなり大きなセクションがあります。問題のセクションは、UIPABを使用するビューナビゲーションです。 2,500行のweb.configファイルのうち、2,200行のコードを生成する約51の異なるページがあります。なぜ重複があったのかを理解するのにかなりの時間がかかりました。web.configファイルのUIPABナビゲーションを改善する

どのように私はそれを理解するようになってから、各ページはビューとして一覧表示され、各ビューは、そのビューのノードで以下に詳述されたすべての訪問可能なリンクを持っている必要があります。

なぜ私は各ページにaがあるのか​​理解できますが、それぞれのノードが重複したリンクでいっぱいになることは(私の場合は)意味がありません。私の場合、ナビゲーションは異なるページ間で変更されることはありません。なぜ、私は一度に値を列挙し、それを使って完了するのですか?

<views> 
<view name="section1" type="section1/home.aspx" controller="section1controller" /> 
<view name="section1one" type="section1/one.aspx" controller="section1controller" /> 
<view name="section1two" type="section1/two.aspx" controller="section1controller" /> 
<view name="section2" type="section2/home.aspx" controller="section2controller" /> 
<view name="section2one" type="section2/one.aspx" controller="section2controller" /> 
<view name="section2two" type="section2/two.aspx" controller="section2controller" /> 
</views> 
<node view="section1"> 
<navigateTo navigateValue="section1" view="section1" /> 
<navigateTo navigateValue="section1one" view="section1one" /> 
<navigateTo navigateValue="section1two" view="section1two" /> 
<navigateTo navigateValue="section2" view="section2" /> 
<navigateTo navigateValue="section2one" view="section2one" /> 
<navigateTo navigateValue="section2two" view="section2two" /> 
</node> 
<repeat above 5 more times for each other view> 

私はこれをもっと合理的なサイズにカットできますか?

答えて

0

何週間もの努力と努力の結果、私はついに私が探していたものを見つけました。 UIPABはsharedTransitionsを共有しています。それは私がGoogleの検索で見つけたUIPAB.pdfという文書の中にあった。それは私がこれをするのを許したものである134のページ67でした。現在、私はノードとその内部に必要な単一のエントリを削除する方法を理解していません。この回答は、同じ問題を抱えている他の人に役立ちますが、まだ最終的な解決策ではありません。私が解決したら(あるいは誰かがこの問題を解決するのに役立つ)、答えを更新します。

<views> 
    <view name="section1" type="section1/home.aspx" controller="section1controller" /> 
    <view name="section1one" type="section1/one.aspx" controller="section1controller" /> 
    <view name="section1two" type="section1/two.aspx" controller="section1controller" /> 
    <view name="section2" type="section2/home.aspx" controller="section2controller" /> 
    <view name="section2one" type="section2/one.aspx" controller="section2controller" /> 
    <view name="section2two" type="section2/two.aspx" controller="section2controller" /> 
</views> 
<navigationGraph iViewManager="" name="" state="" statePersist="" startView="" cacheExpirationMode="" cacheExpirationInterval=""> 
<sharedTansitions> 
    <sharedTansition navigateValue="section1" navigateTo="section1" /> 
    <sharedTansition navigateValue="section1one" navigateTo="section1one" /> 
    <sharedTansition navigateValue="section1two" navigateTo="section1two" /> 
    <sharedTansition navigateValue="section2" navigateTo="section2" /> 
    <sharedTansition navigateValue="section2one" navigateTo="section2one" /> 
</sharedTransitions> 
<node view="section1"><navigateTo navigateValue="section2two" view="section2two" /></node> 
<node view="section1one"><navigateTo navigateValue="section2two" view="section2two" /></node> 
<node view="section1two"><navigateTo navigateValue="section2two" view="section2two" /></node> 
<node view="section2"><navigateTo navigateValue="section2two" view="section2two" /></node> 
<node view="section2one"><navigateTo navigateValue="section2two" view="section2two" /></node> 
<node view="section2two"><navigateTo navigateValue="section2two" view="section2two" /></node> 
</navigationGraph> 

これは(sharedTransitionsに含まれていないthatsのいずれかを使用しイム)各ページにいくつかのページへの単一のリンクを必要とする、私は他のすべてのページへのリンクを必要とする各ページからのナビゲーションを下に減らすことができます。したがって、現在はページ数ではなく、約5行(ビューで1つ、sharedTransitionsで1つ、ノードで3つ)です。ノードがまだ存在しているために完璧ではありませんが、その大きな前進です。