問題タブ [dotnetnuke-7]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iis-7 - DotNetNuke モジュールは、IIS7 で自分自身をアプリケーションに変換し続けます
少し奇妙なもの。何らかの理由で、DNN モジュールの 1 つが開発環境の IIS7 でアプリケーションに変換され続けます。つまり、そのモジュールを含むページを表示しようとすると、モジュールが正しく見つかりません。IIS に移動してアプリケーションを削除してからサイトを再起動しても問題ありませんが、ライブ サーバーにアップロードしてサイト全体を無効にするときにこれが行われるのではないかと少し心配です。
誰かが前にこのようなことに遭遇しましたか? 何かご意見は?
c# - DNN 7+ で LoggerSource をどのように使用する必要がありますか?
DNN 7+ サイトにログを実装することを検討しています。log4net で提供されるような構成可能なログ レベルが必要です。
DNN サイトhttp://www.dnnsoftware.com/community-blog/cid/141723/Using-log4net-with-DotNetNukeにある log4net を統合するための指示に従おうとしました。ロギングを使用するための参照とコード行を追加した後:
コードは、次のような警告を報告しました。
「DotNetNuke.Instrumentation.DnnLog」は廃止されました:「パフォーマンスが低いため 7.0.1 で減価償却されました。LoggerSource.Instance を使用してください」
物事を行う正しい方法に関する情報を見つけるのに苦労しています。「DnnLog」は、「DnnLogger」と呼ばれる log4net とやり取りするための同様のクラスに置き換えられたようです。このクラス (および「LoggerSource」クラス) を使用する場合の違いの 1 つは、静的メソッドを使用してログを記録しないことです。
ロガー インスタンスを取得するために使用される "GetLogger()" 関数は、いくつかのパラメーターを受け取りますが、適切な使用法を説明するドキュメントをまだ見つけることができませんでした。DNN ソースには多くの例があります。これらの例から、適切な使用法は現在のクラスを提供することのように見えます。クラス「MyClass」を宣言するファイル「MyClass.cs」内では、次のように表示されます。
また
typeof() を使用するコードの最初の行で返されるロガーは? つまり、このロガーはサイト用に構成された log4net 設定を使用するのでしょうか? log4net 設定を使用していない場合、ログ ファイルはどこに保存され、構成設定はどこで調整されますか? 私のオタクは、typeof() クラスパラメーターで何が起こっているのかを正確に知りたいと思っています。なぜそれが使用されているのでしょうか?
最初の例が log4net (または構成可能な使いやすいログ レベルを許可するもの) に接続しない場合、2 番目のオプションが適していますか? もしそうなら、渡すのに適切な文字列は何ですか? 「MyClass」は私の推測でしたが、確認できませんでした。
私がここで完全に軌道から外れていて、別の方向からこれにアプローチする必要がある場合は、お気軽に提案をしてください。
皆さん、どうもありがとう!
sql - DAL2 クエリにフィールド名がなく、SELECT NULL が表示されるのはなぜですか?
DNN 7+ で使用するモジュールを作成しており、データ アクセスに DAL2 を使用したいと考えていますが、データベースからアイテムを選択する際に問題が発生しています。
私のコードはデータベースに正常に接続しているように見えますが、DAL2 によって生成されたクエリには、データベース テーブル内のフィールドの名前が含まれていません。SQL Server プロファイラーを実行して、データベースに何が届くかを監視し、"SELECT NULL FROM Product..." で始まるクエリを確認しています。「SELECT * FROM Product...」または「SELECT ProductCode FROM Product...」が表示されることを期待しています。
問題を特定し、完全なコード サンプルを含めることができるようにするために、次のようにテストを行いました。 Product.cs ファイルがあります。
ProductRepository.cs ファイルがあります。
ビューでこれら 2 つのファイルを次のコードで使用します。
このコードを実行している間、SQL Server プロファイラーを使用して監視すると、次のクエリが実行されることがわかります。
上記の選択クエリが NULL を選択している理由がわかりません。Product.cs ファイルまたは * 文字からの製品フィールドのリストを期待しています。
productCode のデータベース フィールド定義 (Microsoft SQL Server Management Studio のツリー ビューから見た場合) は次のとおりです。
外部データベースに接続していますが、データが特定のモジュールまたはポータルに接続されていません。そのため、スコープとして「productCode」を指定します。データがポータルまたはモジュールに関連付けられていない場合、スコープの適切な使用方法がわかりません。問題が Product.cs ファイルの Scope 属性に関連していないことを確認するために、Scope 変数を "PortalId"、"ModuleId"、"productCode"、および "Nothing" に設定してテストしました。これらの値はすべて、SQL Server プロファイラーに同じクエリが表示されました。
また、Scope 属性を完全に削除してテストしました。Scope 属性が含まれていない場合、SQL Server プロファイラーで次のクエリが表示されました。
Scope 属性が除外されたときに WHERE 句が削除された理由はわかりませんが、それがテスト結果で示されました。
Scope 属性を使用したこれらのテストにより、私が見ている「SELECT NULL」の問題とは関係がないと信じるようになりましたが、完全を期すためにここに含めたいと思いました。
なぜこれがNULLで選択を作成するのですか?データを選択するにはどうすればよいですか?
ありがとう!
installation - DNN7 インストール エラー
WebMatrix を使用して、または使用せずに DNN7 をインストールしようとすると、同じエラーが発生します。私はすべての解決策を試したと思います-フォルダーに適切な許可を与え、真の照合を使用しました。しかし、機能していません。インストールするたびに、このエラーが発生します。
インストール ログ: 10/10/2013 14:01:59 [エラー] DotNetNuke.Services.Upgrade.Upgrade System.Data.SqlClient.SqlException (0x80131904): スカラー変数 "@portalid" を宣言する必要があります。
dotnetnuke-module - 複数の sqlprovider インストール スクリプトを含む DNN モジュール
環境
複数のテーブルを使用する DNN 7 モジュールがあります。
わかりやすく使いやすいように、CREATE TABLE ステートメントを別のファイルにしています。
モジュールの .dnn ファイルには、コンポーネント タグの下に各スクリプトの複数のエントリがあります。
問題
モジュールをインストールすると、最後のインストール スクリプトのみが実行され (「CreateProductWidths」の例の場合)、他のスクリプトは無視されます。
質問
インストール中に複数のスクリプトを別々のファイルで実行するにはどうすればよいですか? このモジュールには合計 15 個のテーブルがあるため、それらのすべての定義を 1 つのスクリプトに含めることはできません。難しすぎる場合は、私のやり方が間違っている可能性があり、アドバイスをお待ちしています。ありがとう。
例
dotnetnuke - コンテナ コントロールに JavaScript ファイルを追加する
スキン内に、JavaScript ファイルを追加するモジュール コンテナーがあります。
問題ありません、私は使用します:
唯一の問題は、スクリプトがスキン フォルダーにないことです。
ただし、コンテナーフォルダー内:
上記のコードを追加しても、スキン フォルダーへのリンクが生成されるため機能しません。
この単純なコードを使用すると、機能します。
ClientResourceManagement
しかし、それでは!のすべての利点を失います。
ソースとドキュメントを見ると、 2 つのタイプしかなくPathNameAlias
、いずれもコンテナー用ではありません。
スクリプトをコンテナー フォルダーに追加する理由は、スクリプトがその 1 つのコンテナーでのみ使用され、他の場所では使用されないためです。
誰でも解決策を知っていますか?
自分で実装するのは簡単PathNameAlias
ですか?