10

私はWeb Config Transformationの MSDN ガイドに従ってきましたが、概して成功しています。

ただし、Web 構成の 1 行が問題を引き起こしています。これは、ガイドを誤解しており、間違った構文を使用しているためだと推測できます。

誰かが私の間違いを指摘できることを願っています。その場合は感謝します。

変換の問題のある行は次のとおりです。

<sessionState sqlConnectionString="data source=localhost;uid=userId;pwd=password;" xdt:Transform="SetAttributes(sqlConnectionString)" />

元の Web 構成の行は次のとおりです。

<sessionState mode="SQLServer" sqlConnectionString="data source=networkAlias;uid=userId;pwd=password;" cookieless="UseDeviceProfile" timeout="120" />

私の希望は、変換が属性「sqlConnectionString」を置き換えて、接続の詳細を変更することでした。残念ながら、ラインは影響を受けません。

私はまったく同じ構文を使用しました:

<network host="localhost" xdt:Transform="SetAttributes(host)" />

上記は問題なく機能するため、 にも当てはまると思いました。

誰かが私が間違っているところを見ることができますか?

4

2 に答える 2

6

単純なタイプミスです。sqlConnectionString を stateConnectionString に変更する必要があります。あなたはそれをweb.configに持っていますが、変換には持っていません。それ以外の場合、変換は適切に見えます。

ここで sqlConnectionString を変更する必要があります。

<sessionState sqlConnectionString="data source=localhost;uid=userId;pwd=password;" xdt:Transform="SetAttributes(sqlConnectionString)" />

stateConnectionString へ:

<sessionState stateConnectionString="data source=localhost;uid=userId;pwd=password;" xdt:Transform="SetAttributes(stateConnectionString)" />
于 2011-10-28T12:47:33.737 に答える
4

休憩を取って新鮮な目で戻ってきた後、構文が実際には問題ないことに気付きました。

問題は、ある時点で (いつだかわからない) 要素が移動されて (おそらく、私または別のチーム メンバーによるコピー/貼り付けエラー)、それが属していた要素の外に移動されたため、本来あるべき場所ではなく、そこにぶら下がっていたということでした。なっている。

あるべき場所に戻ると、問題は解決し、変換は要素を再び正しく検出し、変換を適用していました。

したがって、教訓: 変換が 1 つの要素に不思議なことに適用されていない場合 (別の要素では正常に機能する場合)、要素が正しく配置されていることを確認してください。

于 2011-10-31T16:32:02.680 に答える