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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.42207 の関連記事表示

<< 0 >>
■42207  Textファイルがサーバに書き込めないです
□投稿者/ masa2 -(2009/10/09(Fri) 18:43:10)

    分類:[ASP.NET (VB)] 

    Textファイルの書込みがVWD2008上ではうまく動くのですが、プログラムをサーバで動かすと
    Textファイルを書き込むところでエラーが発生して動きません。
    IIS6.0の「セキュリティ」にユーザを「追加」する必要があるようなのですが、ググっても
    その方法がわかりませんでした。問題解決のアドバイスを頂けると助かります。

    VWD2008
    サーバ:Windows2003 IIS6.0 .NET Framework3.5

    エラーの内容
    例外の詳細: System.UnauthorizedAccessException: パス 'E:\*****\TextRW\test01.txt' へのアクセスが拒否されました。

    この ASP.NET は、要求されたリソースへのアクセスを許可されていません。要求された ASP.NET へのリソースへアクセスを許可するかどうかを検討してください。ASP.NET プロセスには、アプリケーションに偽装が実行されていない場合は、通常、インターネット インフォメーション サーバー 5 では {コンピュータ名}\ASPNET、インターネット インフォメーション サーバー 6 ではネットワーク サービスが使用されます。<identity impersonate="true"/> 経由でアプリケーションに偽装が実行されている場合、ユーザーは、通常 IUSR_MACHINENAME に設定された匿名ユーザーか、または認証された要求ユーザーになります。

    ASP.NET にファイルへのアクセスを許可するには、エクスプローラでファイルを右クリックし、[プロパティ] を選択して、[セキュリティ] タブを選択します。[追加] をクリックして、適切なユーザーまたはグループを追加します。ASP.NET アカウントを強調表示し、希望するアクセスのボックスをチェックします。

    ソース エラー:
    行 13: Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS")
    行 14:
    行 15: System.IO.File.WriteAllText(strFile, strInputText, enc)
    行 16: End Sub
    行 17:

    【コード】
    <%@ Page Language="VB" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">

    Protected Sub btnWrite_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim strFile As String = Server.MapPath("test01.txt")
    '入力するテキスト
    Dim strInputText As String = TextBox1.Text

    'Shift_JISのファイルに書き込む。
    Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS")

    System.IO.File.WriteAllText(strFile, strInputText, enc)
    End Sub

    Protected Sub btnRead_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    'Dim strFile As String = "ファイル名"
    Dim strFile As String = Server.MapPath("test01.txt")

    'Shift_JISのファイルを読み込む。
    Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS")

    'テキストファイルの中身をすべて読み込む
    Dim strText As String = System.IO.File.ReadAllText(strFile, enc)

    TextBox1.Text = strText
    End Sub

    </script>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title></title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    テキストファイルの書込み・読込み<br />
    <br />
    <asp:TextBox ID="TextBox1" runat="server" Height="175px" Width="327px" TextMode="MultiLine"></asp:TextBox><br />
    <asp:Button ID="btnWrite" runat="server" OnClick="btnWrite_Click" Text="上書き書込み" />
    <asp:Button ID="btnRead" runat="server" Text="読出し" OnClick="btnRead_Click" />
    <br />
    </div>
    </form>
    </body>
    </html>
親記事 /過去ログ72より / 関連記事表示
削除チェック/

■42211  Re[1]: Textファイルがサーバに書き込めないです
□投稿者/ Jitta on the way -(2009/10/09(Fri) 19:27:34)
    No42207 (masa2 さん) に返信
    プログラムから書き込みを行うパスを特定して、そのパスに ASPNET アカウントに対する書き込み権を与えて下さい。
記事No.42207 のレス /過去ログ72より / 関連記事表示
削除チェック/

■42223  Re[2]: Textファイルがサーバに書き込めないです
□投稿者/ サトシ -(2009/10/09(Fri) 22:53:17)
    2009/10/09(Fri) 23:00:06 編集(投稿者)

    間違えました。申し訳ございません。
記事No.42207 のレス /過去ログ72より / 関連記事表示
削除チェック/

■42224  Re[3]: Textファイルがサーバに書き込めないです
□投稿者/ サトシ -(2009/10/09(Fri) 22:55:06)
    2009/10/09(Fri) 23:00:54 編集(投稿者)

    間違えました。申し訳ございません。
記事No.42207 のレス /過去ログ72より / 関連記事表示
削除チェック/

■42225  Re[4]: Textファイルがサーバに書き込めないです
□投稿者/ やじゅ -(2009/10/09(Fri) 22:59:56)
>
    No42224 (サトシ さん) に返信

    >Textファイルの書込みがVWD2008上ではうまく動くのですが、プログラムをサーバで動かすと
    >Textファイルを書き込むところでエラーが発生して動きません。

    Visual Web Developer が App_Data フォルダを作成する際、ASPNET ユーザー アカウントまたは
    NETWORK SERVICE ユーザー アカウントに対して、フォルダへの読み取りアクセス許可および
    書き込みアクセス許可が付与されます。

    なので、VWD2008上ではうまく動くのですが
    サーバーは自分で作成する必要がありますので、下記を参考にするといいかも
    http://msdn.microsoft.com/ja-jp/library/445z2s49.aspx
記事No.42207 のレス /過去ログ72より / 関連記事表示
削除チェック/

■42228  Re[5]: Textファイルがサーバに書き込めないです
□投稿者/ 囚人 -(2009/10/09(Fri) 23:16:47)
    >Visual Web Developer が App_Data フォルダを作成する際、ASPNET ユーザー アカウントまたは
    >NETWORK SERVICE ユーザー アカウントに対して、フォルダへの読み取りアクセス許可および
    >書き込みアクセス許可が付与されます。


    そんな凝った事してましたっけ?
    単に、開発用のWebサーバー(正式名称がいつまで経ってもさっぱり分からん)が、今開発するためにログオンしているユーザーのコンテキストとして起動するだけじゃなかったかな。要するに開発者がいじれるところはどこでもいじれる。
記事No.42207 のレス /過去ログ72より / 関連記事表示
削除チェック/

■42320  Re[6]: Textファイルがサーバに書き込めないです
□投稿者/ masa2 -(2009/10/13(Tue) 09:52:08)
    Jittaさん、やじゅさん、囚人さん、お返事ありがとうございます。

    やじゅさん
    > サーバーは自分で作成する必要がありますので、下記を参考にするといいかも
    > http://msdn.microsoft.com/ja-jp/library/445z2s49.aspx
    この情報がヒントになり、Win2003サーバのエクスプローラで、対象フォルダ「TextRW」フォルダの
    プロパティのセキュリティの対象ユーザの書込みにチェックを入れる方法で、
    サーバでのTextファイルの書込み動作が正常に動く様になりました。

    フォルダの書込み権限設定はWin2003の管理ツールのIISマネジャで行うんたよなあ。と言う
    先入観で、IISマネジャでの設定にしか意識が行ってませんでした。Win2003サーバの
    エクスプローラで設定すれば良かったんですね。

    アドバイス頂いた皆さん、ありがとうございました。
記事No.42207 のレス / END /過去ログ72より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -