アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB.NETにおいて、Webアプリケーションを作成しました。
作成場所はローカルマシンのwwwroot\abcde\
URL http://localhost/abcde/webform1.aspx
にて動作を確認しました。
これをサーバにあげたいのですが、セキュリティを考えると全部そのままあげるのはよろしくないですよね?(プログラムソースもある為)
ディレクトリ内には、_vti_cnfフォルダなど隠しフォルダがありますが、どれをアップさせればよいでしょうか?

A 回答 (6件)

どのようなものを作っているのかわからないので何とも言いがたいのですが


>http://localhost/abcde/webform1.aspx

C:\Inetpub\wwwroot\abcde\
が開発環境であれば、単純な作りをしていれば

※[C:\Inetpub\wwwroot\]フォルダの中身
*.aspx
*.htm
*.html
*.css
*.画像の拡張子

[C:\Inetpub\wwwroot\bin]フォルダを丸ごと(*.pdbは不要)
があれば動きます。

場合によっては
*.htc
などなども考えられたり・・・

自動的に作成される隠しフォルダ[_vti_****]は、実環境では不要と思って結構だと思います。

この回答への補足

該当ファイルだけをサーバにあげてみました。
アップファイル
・binフォルダ(Calucu.dll)
・styles.css
・webform1.aspx
リモート操作で、サーバ上から以下のURLで確認したところ
http://localhost/abcde/webform1.aspx

解析エラー
型'Calucu.WebForm1'を読み込めませんでした。

エラー行
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="webFrom1.aspx.vb" Inherits="Calucu.WebForm1"%>

というところでエラーがでてしまいました。
拡張子が.WebForm1なんてファイルはなかったのですが、なんでしょうか><

補足日時:2005/09/13 18:18
    • good
    • 0

一つ気がついたのですが、


>ローカル作成プログラムがすでに仮想ディレクトリ指定になっていました。
それぐらいは・・・
^^;;;;;;;;


>wwwroot\abcdeが仮想ディレクトリになっている為、・・・エラーになるようです。
その都度、質問者が仮想ディレクトリを設定しているのだと、勝手に思っておりました。



>規定のWebサイトでできない理由が不明です。
とりあえず起動しているみたいなので、私の発言は終わりますね。
ここからは、教えてもらうより慣れることの方が大事だと思います。
セキュリティや権限を、「あーだこーだ」触っている内に、環境が整います。
もしくは、取り返しがつかないぐらいに壊れますw
IISを学ぶ人は、何度もIISを入れ直しつつ、勘を身につけていっています。

論理も大事ですが、嗅覚を磨くことも結構大事だと思います。
    • good
    • 0
この回答へのお礼

何回もレスありがとうございました。
勉強してみます。

お礼日時:2005/09/15 08:24

[規定のWebサイト]プロパティ



作成した[仮想ディレクトリ]プロパティ
のセキュリティが違うのかな?

設定次第でwebrootでいけるはずですよー



>しかし、フォルダ名を”abcde"から”xyz"に変更すると、
フォルダを変更したりする場合は、IISリセットをお勧めいたします。

[スタート]→[ファイル名を指定して実行(R)]

iisreset
を入力し実行です。
環境が整っていれば、これで動作可能だと思うのですが、、、


特別意識した作りでなければ、プロジェクトルート以下の階層は意識しなければならないですが、プロジェクトルートフォルダは関係ないはずです。質問者さんのソースもそのような作りであれば、環境設定で動作可能なはずです。
しかしその端末を見ないことには、はっきりと「これが原因」とは言い難いです。

この回答への補足

一つ気がついたのですが、
ローカル作成プログラムがすでに仮想ディレクトリ指定になっていました。
wwwroot\abcdeが仮想ディレクトリになっている為、Xyzに変更しちゃうと仮想ディレクトリ経由にならないとでエラーになっちゃう為xyzに変更するとエラーになるようです。

Xyzの問題はわかりましたが、やっぱり仮想ディレクトリでできて、規定のWebサイトでできない理由が不明です。
両方の認証設定を見てみましたが、両方とも統合Windows認証になっていました。

むむむ。難しい。

補足日時:2005/09/14 14:11
    • good
    • 0

#3の訂正です。



>abcde.vbproj
じゃなさそうですね。。。。

多分
Calucu.vbproj
ですよね。。。


でそこで思ったのですが、
Calucu.vbproj
をテキストエディタ(メモ帳など)で開いてみてください
下記の3つがありますでしょうか?

AssemblyName = "Calucu"
RootNamespace = "Calucu"
StartupObject = "Calucu.(なし)"
    • good
    • 0
この回答へのお礼

ありがとうございました!
できました。

Inetpub内にCalucuフォルダを作成し、全部ぶっこんで、仮想ディレクトリを割り当てて実行したらできました。(サーバ)

ただ、なぜできたのか、理由がわからない。。
仮想ディレクトリだとできて、普通にwwwroot内におくのとなにが違うのでしょうか。

ちょっと、気持ちわるいので、理由をどなたかおしえてくださいー

お礼日時:2005/09/14 11:14

>拡張子が.WebForm1なんてファイルは


Inherits→inherit→引き継ぐという意味
継承がCalucu.DLLのWebForm1から行われるということで、拡張子ではありません。
「キーワード:インスタンス」

エラー内容は
「Calucu.DLLが見つからない」または「Calucu.DLLにWebFrom1」が見つからない
ということです。


そのWebプロジェクトをソリューションエクスプローラで見ると
abcde.vbproj
 ├・・・・
 ├styles.css
 ├・・・・
 └webform1.aspx
となっているのですよね?

abcde.vbproj
 ├・・・・
 ├styles.css
 ├・・・・
 \フォルダ
  └webform1.aspx
というように、ASPXがフォルダ階層の下にはなっていませんよね?


なっていなければ、
\abcde
 ├webform1.aspx
 ├styles.css
 \bin
  └Calucu.dll
という構成で、いけると思うのですが。。。

Calucu.DLLを再度コンパイルしてみてください。
(コンパイルされたらきちんとタイムスタンプもチェックしてみてください)

それで再構成しても、同じですか?

この回答への補足

レスありがとうございます!
>abcde.vbproj
> ├・・・・
> ├styles.css
> ├・・・・
> └webform1.aspx
>となっているのですよね?
そうですー

ローカルにて
abcdeフォルダ
 ├webform1.aspx
 \bin
  └Calucu.dll
これで動きました。

しかし、フォルダ名を”abcde"から”xyz"に変更すると、
解析エラー
型'Calucu.WebForm1'を読み込めませんでした
エラー行
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="webFrom1.aspx.vb" Inherits="Calucu.WebForm1"%>

といわれました。前と同じエラーです。絶対パスが書いてない行なのに、なぜ、エラーがでるのでしょうか。

サーバの方は前と現象がかわらなかったので、
ローカルabcde内のファイルをすべてアップしましたが、実行すると

サーバーエラーで構文エラー
web.configファイルの38行目
「<authentication mode="windows" />」
が、起きてしまいました。
わけがわからない><
ウィンドウズ認証がいけないっていってるんでしょうか

補足日時:2005/09/14 09:24
    • good
    • 0

一つ一つのファイルをコピーするより、


Webセットアッププロジェクトを使うことをお勧めします。

たんなるファイルコピーだとファイルの権限なども直さないといけないし、IISの設定にも手を入れなければなりませんが、Webセットアッププロジェクトでインストーラーを作れば大体やってくれます。

アップするコンテンツも選択できるので、ソースファイルを除外することもできます。

参考URL:http://www.microsoft.com/japan/msdn/library/defa …

この回答への補足

セットアッププロジェクトで作成してみました。
プロジェクト出力グループの追加で、よくわからなkったので、以下の3つを追加しました。
・プライマリ出力
・ローカライズされたリソース
・コンテンツファイル
セットアップファイルを作りサーバにいれ、
wwwroot\abcde\にインストールし、サーバ上で同じように(リモート操作)IEを立ち上げ
http://localhost/abcde/webform1.aspx
を実行したところ、
サーバーエラーで構文エラーがおきまして
web.configファイルの38行目
「<authentication mode="windows" />」
がエラーになっているようです。
なぜなのでしょうか?

補足日時:2005/09/13 18:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!