C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ブラウザ上でメッセージを表示したい

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■94515 / inTopicNo.1)  ブラウザ上でメッセージを表示したい
  
□投稿者/ asp初心者 (1回)-(2020/04/16(Thu) 11:43:43)

分類:[.NET 全般] 

asp.net

ブラウザ上でメッセージを表示したいと考えております。
メッセージの宣言はVB側で行いたいです。

実際にMsgBoxでやってみたところ、デバックで実行した際は何事もなくメッセージが表示されるのですが
ブラウザ上だとエラーメッセージが表示されてしまいます。

「アプリケーションが UserInteractive モードで実行されていないときに、
 モーダル ダイアログまたはフォームを表示することは有効な操作ではありません。
 サービス アプリケーションからの通知を表示するには、ServiceNotification 
 または DefaultDesktopOnly スタイルを指定してください。」

使用目的としては宣言した関数の中身の確認やエラー内容を確認したいためです。
「そのままソースでデバックして確認すればいいじゃん」と思う方もいらっしゃると思うのですが
ソースで実行した時とhttp(ブラウザ上)で実行した時で、内容が異なるためこのような形になりました。

お手数をおかけ致しますが、是非とも宜しくお願い致します。

引用返信 編集キー/
■94516 / inTopicNo.2)  Re[1]: ブラウザ上でメッセージを表示したい
□投稿者/ Hongliang (1001回)-(2020/04/16(Thu) 11:55:48)
サーバ側の処理中に、サーバ側でメッセージを出すなら、
・Visual Studioを使ったデバッグ中であればTrace.WriteLineを使う。出力ウィンドウ(またはイミディエイトウィンドウ)に出力される。
・デプロイ後であれば、ファイル等にログ出力するようにする。

クライアント側に出す意味はあんまりないかと思いますが、クライアントJavaScript処理中の細かいメッセージはconsole.logで出力するのが一般的でしょうか。
引用返信 編集キー/
■94517 / inTopicNo.3)  Re[1]: ブラウザ上でメッセージを表示したい
□投稿者/ 魔界の仮面弁士 (2690回)-(2020/04/16(Thu) 12:20:35)
No94515 (asp初心者 さん) に返信
> ブラウザ上でメッセージを表示したいと考えております。
> メッセージの宣言はVB側で行いたいです。

ローカルPC 上でデバッグしていると、サーバー処理とクライアント処理を
混同しやすいところですが…その MsgBox は「どこ」に表示したいですか?
(通常、Web アプリで MsgBox を使うことはありません)

VB 側で行うという事は、普通にブラウザーからアクセスした場合に、
クライアント PC 上にメッセージを表示するのではなく、
サーバー上にメッセージを表示したいという認識でしょうか?
(クライアント側に表示したいなら、JavaScript や HTML の範疇です)


もしも本当にサーバー側に表示させたいのだとしたら、
その場合、幾つか検討しなければならない点があります。


(1)サーバーは多くの場合、無人で実行されるものだと思います。
 Web サーバー上で、だれもデスクトップを開いていなかった場合、
 MsgBox はいったいどこに表示されるべきでしょうか?

(2) リモートデスクトップ接続によって、一つのサーバー上に
 複数の異なるユーザーが同時にログインしていた場合、
 誰のデスクトップ上にメッセージを表示したいのでしょうか?

(3)MsgBox という事は、誰かがボタンを押すまで、次の処理に進めなくなることを意味します。
 サーバー上でメッセージが表示されたら、誰かがサーバー上のボタンを押すまで、
 クライアントのブラウザ処理も待機状態になってしまうかと思いますが、
 本当にそれで良いのでしょうか?


> 「アプリケーションが UserInteractive モードで実行されていないときに、
>  モーダル ダイアログまたはフォームを表示することは有効な操作ではありません。
>  サービス アプリケーションからの通知を表示するには、ServiceNotification
>  または DefaultDesktopOnly スタイルを指定してください。」

上記は、MessageBox.Show メソッドでいうところの
「MessageBoxOptions.DefaultDesktopOnly」や
「MessageBoxOptions.ServiceNotification」のことを示しています。
引用返信 編集キー/
■94518 / inTopicNo.4)  Re[1]: ブラウザ上でメッセージを表示したい
□投稿者/ WebSurfer (2041回)-(2020/04/16(Thu) 12:46:15)
No94515 (asp初心者 さん) に返信

> ソースで実行した時とhttp(ブラウザ上)で実行した時で、内容が異なるためこのような形になりました。

そんなことはないと思うのですが?

何を表示したいのか、どう違うのかを書いてもらえると、どうすれば質問者さんの目的に近いことができる
案が出せるかもしれません。
引用返信 編集キー/
■94519 / inTopicNo.5)  Re[2]: ブラウザ上でメッセージを表示したい
□投稿者/ WebSurfer (2042回)-(2020/04/16(Thu) 13:02:13)
No94517 (魔界の仮面弁士 さん) に返信

>>「アプリケーションが UserInteractive モードで実行されていないときに、
>> モーダル ダイアログまたはフォームを表示することは有効な操作ではありません。
>> サービス アプリケーションからの通知を表示するには、ServiceNotification
>> または DefaultDesktopOnly スタイルを指定してください。」
>
> 上記は、MessageBox.Show メソッドでいうところの
> 「MessageBoxOptions.DefaultDesktopOnly」や
> 「MessageBoxOptions.ServiceNotification」のことを示しています。

ASP.NET Web アプリを IIS (IIS Express ではなくて)で動かしているときには、デフォルトでは
プロセスがプロセスがユーザー対話モードで実行されていないので、ユーザー インターフェイスを
表示する操作は無効ということで例外がスローされていると思います。

Environment.UserInteractive は false になっているはずです。
引用返信 編集キー/
■94520 / inTopicNo.6)  Re[2]: ブラウザ上でメッセージを表示したい
□投稿者/ asp初心者 (2回)-(2020/04/16(Thu) 14:00:18)
No94518 (WebSurfer さん) に返信
> 何を表示したいのか、どう違うのかを書いてもらえると、どうすれば質問者さんの目的に近いことができる
> 案が出せるかもしれません。

すみません、言葉足らずでした。
>>ソースで実行した時とhttp(ブラウザ上)で実行した時で、内容が異なるためこのような形になりました。
というのは、質問内容とは異なる作業で上手くいかなかったのでそれを解決するためにこのような質問をさせて頂きました。

ブラウザ上だとデバックして中身を確認できないので
メッセージボックスとかで確認できないかと思いまして…。



引用返信 編集キー/
■94521 / inTopicNo.7)  Re[2]: ブラウザ上でメッセージを表示したい
□投稿者/ asp初心者 (3回)-(2020/04/16(Thu) 14:10:09)
No94517 (魔界の仮面弁士 さん) に返信
> ローカルPC 上でデバッグしていると、サーバー処理とクライアント処理を
> 混同しやすいところですが…その MsgBox は「どこ」に表示したいですか?
> (通常、Web アプリで MsgBox を使うことはありません)
今回Webアプリは初めてで、今まで扱ってこなかったためMsgBox でも大丈夫だと思い
使用したところダメだったという事です。
MsgBoxはサーバー上で表示したいです。

> もしも本当にサーバー側に表示させたいのだとしたら、
> その場合、幾つか検討しなければならない点があります。
>
> (1)サーバーは多くの場合、無人で実行されるものだと思います。
>  Web サーバー上で、だれもデスクトップを開いていなかった場合、
>  MsgBox はいったいどこに表示されるべきでしょうか?
>
> (2) リモートデスクトップ接続によって、一つのサーバー上に
>  複数の異なるユーザーが同時にログインしていた場合、
>  誰のデスクトップ上にメッセージを表示したいのでしょうか?

> (3)MsgBox という事は、誰かがボタンを押すまで、次の処理に進めなくなることを意味します。
>  サーバー上でメッセージが表示されたら、誰かがサーバー上のボタンを押すまで、
>  クライアントのブラウザ処理も待機状態になってしまうかと思いますが、
>  本当にそれで良いのでしょうか?

ボタン操作でメッセージを表示します。
現時点でのエラー内容をメッセージで確認したいだけなので、自分しか見ません。
問題解決できればメッセージは後で消す予定です。

引用返信 編集キー/
■94524 / inTopicNo.8)  Re[3]: ブラウザ上でメッセージを表示したい
□投稿者/ WebSurfer (2044回)-(2020/04/16(Thu) 15:12:28)
No94520 (asp初心者 さん) に返信
> ■No94518 (WebSurfer さん) に返信
>>何を表示したいのか、どう違うのかを書いてもらえると、どうすれば質問者さんの目的に近いことができる
>>案が出せるかもしれません。
>
> すみません、言葉足らずでした。
> >>ソースで実行した時とhttp(ブラウザ上)で実行した時で、内容が異なるためこのような形になりました。
> というのは、質問内容とは異なる作業で上手くいかなかったのでそれを解決するためにこのような質問をさせて頂きました。

以前として意味不明です。「質問内容とは異なる作業で上手くいかなかった」というのはどういうことなのか、
具体的に、ここに書いてあること以外は知り得ない第三者が読んでわかるように書いてください

少なくとも自分の今までの経験上、開発するのに MessageBox での表示が必要なケースはありませんでした。
たぶん見当違いと思います(自信度 99.9% ぐらい)

> ブラウザ上だとデバックして中身を確認できないので
> メッセージボックスとかで確認できないかと思いまして…。

「中身を確認できない」とはどういうこと? サーバーエラーが起これば customErrors mode="Off" にしておけば
サーバーエラーの詳細はブラウザに表示されるので、ブラウザに情報が表示したければそれで十分でしょう。

運用環境の話をしているなら、もし Web サーバーが質問者さんから見て地球の裏側にあったら、MessageBox で
表示されても質問者さんは見ることはできず、何も意味がないのは分かりますか?
引用返信 編集キー/
■94533 / inTopicNo.9)  Re[4]: ブラウザ上でメッセージを表示したい
□投稿者/ PANG2 (331回)-(2020/04/17(Fri) 09:35:04)
ダミーのラベルを置くとか。

label1.Text = "メッセージ"
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ