RSS

カテゴリー別アーカイブ: ASP.NET

ASP.NET: ASP.NET App_Codeフォルダ

App_Code フォルダには、ソースコードを置くためのフォルダだそうです。(詳しくは下記)

https://msdn.microsoft.com/ja-jp/library/t990ks23(v=vs.100).aspx

VB や C# ソースを置いておけば自動的にコンパイルされるそうですが、そうでないファイル(つまりプログラミング言語のソースでない XML など) はもちろんコンパイルはされないと書いてあります。

問題は、Visual Studio でここに置いた VB や C# ソースをデフォルトで参照できない問題があります。下のように App_Code に Class1.cs を追加したとします。

app_code

エディタで Class1 をコードに追加すると、見つからないので赤線が表示されます。

class1_notvisible

これを回避するには、Class1 のプロパティで「ビルドアクション」を「コンパイル」に変更します。デフォルトは「コンテンツ」です。上の説明にはデフォルトでコンパイルされると書いてあるので、微妙な仕様(バグ?)ですね。

class1_compile

広告
 
コメントする

投稿者: : 2017/01/29 投稿先 ASP.NET

 

ASP.NET : IIS に発行したウェブアプリで SQL Server にアクセスできない件

Visual Studio で動作確認した ASP.NET ウェブアプリが IIS に発行した後、動作しなくなる現象があります。SQL Server 認証だといいんですが、Windows 認証では設定が必要です。

それは、web.config の設定の違いかユーザ権限の違いのためです。Visual Studio ではログインユーザの権限でウェブアプリも動作しますが、IIS では別の特殊なユーザ権限で動作します。

SQL Server 認証ならどちらのユーザで動いていても関係ないのですが、Windows 認証の場合は、ユーザが異なるのでログインできなくなります。

このユーザというのが最初 IUSR かと思っていたら、DefaultAppPool という偽装ユーザでした。ということで、Management Studio で、このユーザをデータベースのユーザに追加したらウェブアプリが動くようになりました。

このユーザは「検索」しても出てこないので直接入力します。

ただし、ただ登録するだけでなくスキーマの所有権も設定することを忘れないようにします。

defaultapppoolreg

defaultapppool

残念ながらこれだと、IIS と SQL Server が異なるサーバで動作している場合、うまく動作しません。その場合は、SQL Server が動作している DB サーバの有効なアカウントを IIS に設定してやらないと認証されません。(以下の設定を行うと上記の設定は使用されないので不要です)
まず、コンピュータの管理で「インターネッインフォメーションサービス」を選んで、ツリーの上の方にある「アプリケーションプール」をクリックします。

iis_defaultapppool

DefaultAppPool を選択してアプリケーションプールのプロパティ(右側のペイン)で「詳細設定」を実行します。プロセスモデルのIDをクリックするとボタン(…)が表示されるので、それをクリックします。

iis_defaultapppool_settings

ここにDB サーバの有効なアカウント情報を入力すると、IIS から DB サーバ上の SQL Server に Windows 認証で接続できるようになります。

iis_defaultapppool_custom

 
コメントする

投稿者: : 2016/12/11 投稿先 ASP.NET, Database

 

IIS Express の使い方

下記のブログに詳しい解説が出ています。

http://blogs.msdn.com/b/osamum/archive/2015/01/27/how-to-launch-iis-express.aspx

ざっくり言うと

  1. コマンドプロンプトを開き、IIS Express のフォルダに移動
  2. /PATH スイッチにウェブサイトのパスを指定する。
  3. /PORT スイッチにポート番号を指定する。
  4. エラー時に情報を表示したい場合は、/TRACE:ERROR を追加する。

具体的なコマンド入力例

cd “C:\Program Files (x86)\IIS Express”
iisexpress /PATH:c:\workspace\project2015\wcfservice1 /PORT:12345

 
コメントする

投稿者: : 2015/09/26 投稿先 ASP.NET

 

タグ: ,

ASP.NET アプリケーションをローカルIIS で実行するには (Visual Studio 2015)

  1. デバッグが終わった ASP.NET ウェブアプリをローカルIISで動作させるには、プロジェクトのプロパティで Web を選択し、サーバを「ローカルIIS」にして、仮想ディレクトリを作成する。
  2. ウェブアプリをリリースビルドする。
  3. SQL Server を使っている場合は、IUSR の権限が設定されてないので、GRANT コマンドを使って、使用しているオブジェクトに対して必要な権限を GUEST に与える。
 
コメントする

投稿者: : 2015/08/30 投稿先 ASP.NET

 

タグ:

SQL Server Express で IIS User に SELECT 権限を与えるには

IIS Express では OK だった ASP.NET Web アプリケーションで 「SELECT 権限がないのでアクセスできない」というメッセージが出てきてしまいました。

次のようにしたらアクセスできるようになりました。

C:\>sqlcmd -S .\sqlexpress -E
1> grant select on master.dbo.Pixiv to guest;
2> go
1>

 
コメントする

投稿者: : 2015/08/30 投稿先 ASP.NET

 

タグ:

ASP.NET で HTMLタグを含むフォームデータを転送するには

Web Forms だと <% Page  validateRequest=”false” %> を追加する。

詳しくはこちら

https://msdn.microsoft.com/en-us/library/hh882339.aspx

 
コメントする

投稿者: : 2015/08/22 投稿先 ASP.NET

 

タグ: