問題タブ [network-service]
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.
c# - System.Data.SQLite を使用して C# アプリで SQLite 接続を開くのが遅い
編集3:
私の問題は今のところ解決したと思います...サービスとテストアプリの両方を、SYSTEM
アカウントではなくアカウントとして実行するように変更しましたNetworkService
。ユーザー アカウントの変更によるメリットが持続するのか、それとも一時的なものなのかはまだわかりません。
元の質問:
小さな 224kB の SQLite DB を C# アプリケーションで開くのが非常に遅く、数ミリ秒から 1.5 秒以上かかることに気付きました。以下は私のコードで、今日の午後に追加したデバッグ ステートメントがすべて含まれています。cnn.Open();
ここのログに示されているように、呼び出しに絞り込みました。
ご覧のとおり、この例では、接続を開くのに 1.7 秒かかりました。これを繰り返してみましたが、後続の接続がほぼすぐに開くか、このように遅れるかを予測できません。
なんらかの接続プーリングの使用を検討しましたが、単一インスタンスのシングルスレッド アプリケーションでそれを追求する価値はありますか? 現在、SQLiteDatabase クラスのインスタンスを作成し、クエリごとに以下の関数を呼び出しています。
編集:
確かにdbConnection
、次の関数によって設定された接続文字列です。 inputFile
開くファイル名の文字列パスです。
sql
そして、この時点では、 cnn.Open() が失速する時点まで到達していないため、無関係だと思います。
編集2:
わかりました、さらにテストを行いました。テストをローカルで実行すると、1000 回の反復ループが約 5 秒で完了し、cnn.Open()
. ローカル PC で行ったのと同じ Windows インストーラーからテストを実行すると、約 25 分で完了し、cnn.Open()
.
TestOpenConn()
テスト ディレクトリにあるファイルのコピーに対して実行するサービス プログラム (Windows サービスで実行されているのとまったく同じコード) から関数を呼び出すだけの小さなテスト プログラムを作成しました。これをサーバーまたはローカル PC で実行すると、許容できるパフォーマンスが得られます (サーバーでは呼び出しごとに 1.95 ミリ秒、ローカル PC では呼び出しごとに 4 ミリ秒)。
テスト関数は次のとおりです。
path - ネットワーク サービス アカウントはローカル パスを受け入れません
サービスとして実行され、日中の特定の時点で (pg_dump.exe を使用して) データベースのバックアップを作成するプログラムを作成しています。このプログラムは、バックアップ ファイルをローカル ドライブとマップされたネットワーク ドライブに書き込むことができる必要があります。
最初は、ネットワーク ドライブに書き込むことができませんでしたが、サービスに管理者アカウントとしてログオンさせることで問題を解決しました。しかし、上司は、ユーザーがアカウントのユーザー名とパスワードを入力しなくてもプログラムを実行できるようにしたいと考えています。
Network Service アカウント (パスワードは不要で、常に同じ名前です) を使用して、これを回避しようとしました。これで、私のプログラムはネットワーク ドライブに書き込みますが、ローカル ドライブには書き込みません! 通常のC:\<directory name>\
パス構文と構文を使用してみましたが、どれ\\<computer name>\C$\<directory name>\
も機能しません。\\<ip address>\C$\<directory name>\
ネットワーク サービス アカウントを取得してローカル ドライブにアクセスする方法はありますか?
macos - AppleScript - 現在の IP アドレスがバインドされているネットワーク サービスを特定します
次の AppleScript コードは、Network Setup のすべてのネットワーク サービスを返します。
すべてではなく、アクティブなネットワーク サービス名のみを取得するにはどうすればよいですか?
明確化の更新: このコンテキストで「アクティブ」とは、現在の [プライマリ] IPv4 アドレスがバインドされているインターフェイスを持つネットワーク サービスを意味します。
windows-phone-8 - Network Service を使用して位置情報を取得する
Windows phone8 でネットワーク サービスを使用して位置情報 (緯度、経度) を取得するにはどうすればよいですか? GPSを使用していません。
android - Jmdns 経由でサービスを検出できない: Android
API-14 以降のサポートを提供する必要があるため、Android が提供するネットワーク検出サービスを使用できません。
そのため、この目的のために Jmdns Library を試しました。
Jmdns の実装に関して 2 つの質問があります。 質問1
次のコードを実装しましたが、サービスを見つけることができません。同じ目的で同じネットワーク上で NSD を使用すると、それぞれのサービスを検出できます。だから私は自分のコードの何が問題なのか確信が持てません。誰か助けてくれませんか?
QUESTION# 2 ネットワーク上で実行中のすべてのサービスを Jmdns 経由で検出する方法はありますか?
誰かが上記の2つの質問で私を助けてくれませんか?
よろしくお願いします、サニー
security - NETWORK SERVICE アカウントを使用して PSExec を実行できない
TFS を使用して PSExec を開始し、インストーラーを作成する InstallShield プロセスを実行しています。TFS ビルド エージェントは、NETWORK SERVICE アカウントで実行されます。
-u -p オプションを使用して PSExec を実行すると、コマンドを実行して、リモート マシンに対してコマンド プロンプトからインストーラーを正常にビルドできます。
ただし、TFS では、常に 2250 エラー コードが表示され、インストーラーがビルドされません。
問題を切り分けるために、psexec コマンドを次のように変更しました...
コマンドラインから上記を実行すると、ファイルがコピーされます。TFS から上記を実行すると (バッチ ファイルで上記を呼び出す)、2250 で失敗します。
TFSが何をしているかをシミュレートするために...
- 昇格された管理者権限でコマンド プロンプトを開始しました
- 発行済み
psexec -i -u "nt authority\network service" cmd.exe
- 上記の xcopy コマンドを含むバッチ ファイルを実行します。
したがって、ステップ 2 では、NETWORK SERVICE アカウントを使用してコマンド プロンプトを起動します。このコマンド プロンプトから手順 3 を実行すると、同じ 2250 エラーが発生しました。したがって、これは良いb / cであり、TFSは見えなくなり、本当の問題に近づいています。
ちょっと笑っただけで、ネットワークサービスをリモートボックスの管理者グループに追加しました。それは問題を解決しませんでした。
だから、ここが私がいる場所です...
- 管理者グループのログインを使用して TFS ボックスにログインし、コマンド プロンプトを開き、-u -p パラメータを指定して xcopy コマンド バッチ ファイルを実行すると、すべて正常に動作します。
- NETWORK SERVICE アカウントで cmd プロンプトを開始し、手順 1 と同じバッチ ファイルを実行すると、2250 アクセスが拒否されます。
したがって、私の考えでは、この問題は明らかに NETWORK SERVICE アカウントに関連しています。質問は、このアカウントで psexec を実行するにはどうすればよいですか?
アップデート
次に示すのは、管理者グループの NETWORK_SERVICE アカウントと、パス (c:\temp) へのフル アクセスがあることを示すダイアログです。
internet-explorer - ASP.NET ページで内部ユーザーに資格情報が要求されます
内部ユーザーは、ホームページを表示するためにユーザー名とパスワードを入力するよう求められています。プロンプトを表示せずに、SSO を使用してもらいたいのです。
詳細は次のとおりです。
- Windows 認証が有効になっています。残りは無効(匿名認証を含む)
- 統合されたデフォルトの apppoolと .NET Framework 4.0 を使用します。Apppool はNetworkServiceアカウントを使用します
- サーバーとクライアントが同じ AD ドメインにある
- Internet Explorerを使用してテストする
- クライアント側での変更はオプションではありません (信頼済みサイトなど)。
注: Web サイトの pysical フォルダーに対する読み取りアクセス許可をユーザーに付与すると、ユーザーは資格情報の入力を求められません。ただし、 IIS_IUSRSにはフル コントロールがあるため、ユーザーにアクセス許可を与える必要がある理由を理解しようとしています。