- PR -

開発環境からServerへの配置について

投稿者投稿内容
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2008-07-16 18:20
度々失礼します。

なんとか製造工程が完了してローカルで開発していたプログラムを
サーバー環境へ配置してテストを実施する段階になったのですが、
上手く動作しなくて困っています。
どなたかご教示下さい。

【環境:ローカル】
WindowsXP
VS2008、C#、コードビハインド形式
【環境:サーバー】
Windows2003Server
IIS6.0

具体的にはGlobal.asax.csのApplication_Errorメソッドに以下をコーディング。
@.エラーメッセージの編集
A.イベントログへの出力
B.エラーメールの送信
C.エラー専用画面へ遷移

ローカル環境では上手く動いているのですが、サーバーに配置したら
どうも上記の処理が動いていないようです。

IISの設定と仮想ディレクトリへの権限追加は行いました。
C:\Windows\MicroSoft.NET\Framework\v2.0.50727\Temporary ASP.NET Filesフォルダ
にも権限の追加を実施済みです。

なにか他にも設定が必要でしょうか?
宜しくお願いします。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-07-16 18:35
> IISの設定と仮想ディレクトリへの権限追加は行いました。

って、どんな権限追加をしているんだろう。。。

http://support.microsoft.com/?id=329291

このような情報もありますね。
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2008-07-16 18:55
どっとねっとふぁんさんコメントありがとう御座います。

追加した権限はファイルのセキュリティに対して
NETWorkServiceとIUSER_マシン名のアクセス権限をフルコントロールで
追加した次第です。

頂いた情報によるとサーバーでEventログを記録する場合は
レジストリ登録を事前にやる必要がある。または
イベントログ用のDLLを作成する必要があるということでしょうか。

サーバーに対しては常にこのような設定が必要なのでしょうか。

どうもGlobal.asax.cs自体が動いてないようなのですが、
コードビハインドでデプロイする場合、
◆プロジェクト名.DLL
◆デザインファイル(〜.aspx)
◆web.configやGlobal.asaxをルートフォルダへ配置
ですが、この場合、Global.asax.csもプロジェクト名.DLL内に含まれているという
認識でいいでしょうか。

宜しくお願いします。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-07-16 19:01
もともとのプロジェクトの作成をWebアプリケーションプロジェクトで作成していますか?
それともWebサイトプロジェクトで作成していますか?

また、Webサイトプロジェクトで作成している場合、サイトの発行を利用していますか?

このあたりの環境によって答えはかわります。
もし、Webサイトプロジェクトで作成していて、サイトの発行は利用せずにコードのコピーを行っているのであれば、csファイルもすべてコピーしないと動きません。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-07-16 19:11
ああ、でもcsファイルが存在しないと動かないような状態ならエラーになりそうだよな。。。
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2008-07-16 19:16
デプロイ方法は
@VS2008で「Webセットアッププロジェクト」を作成
Aファイルシステムで以下を取り込み
 ※dllとpbdファイル、〜.aspxを各フォルダへ追加
BWebセットアッププロジェクトをビルドして
 生成されたSetup.exeをサーバー上で展開

です。この場合はcsファイルは不要ですよね?

イベントログだけじゃなく、メール送信やレジストリ書き込み、エラー画面への遷移
(Server.Transfer)も処理されていないようなので、ホントにGlobal.asax.csが
取り込まれているのかが不安です。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-07-16 19:54
Webセットアッププロジェクトですか。。。
ずっと使ってないなぁ、まだあったのか。。。

という状態なので、私にはお答えできそうにないですね。
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2008-07-17 00:51
ども、自己レスです。
まだ解決には至っていないのですが、少し切り分けが出来たのでコメントします。

Global.asax.cs は当然のように動いていました・・・
画面が表示されるのでそもそもApplication_Startメソッドが処理されている
ということですもんね。(気づくのが遅い。。。)

ログを入れて確認したところ、
@.レジストリ書込み ← 忘れてました(NG:書込みできず)
@.エラーメッセージの編集 (OK)
A.イベントログへの出力  (NG:書込みできず)
B.エラーメールの送信   (OK)
C.エラー専用画面へ遷移  (OK)

レジストリ書込みとイベントログ書込みができないのは権限の設定が
必要と思うのですが、どこに権限を追加していいのかまだわからないので
明日またいろいろ試してみます。(NETWORK SERVICEの権限)

スキルアップ/キャリアアップ(JOB@IT)