ASP.Net ローカルIISでデバッグ

○Win10+Visual Studio2008でデバッグ

・ローカルPCにIISをインストール
・IISで仮想ディレクトリを作成

エイリアス:<プロジェクト名>

物理パス:<プロジェクトのあるフォルダ>

・アプリケーションプールの設定

.Net2.0

→<section name=”scriptResourceHandler” などが重複エラーとなった

32ビットアプリケーションの有効化=True

→64ビットだとエディットコンティニュが出来なかった

Pingの有効化=False

→ステップ実行中にプログラムが終了した

・プロジェクト(Visual Studio2008)を管理者権限で開く

Visual Studio を常に管理者権限で動かす

※管理者権限だとsubstのドライブが読めない。(ソリューションを開けない)

・プロジェクトのプロパティの「Web」で「ローカルIIS Webサーバを使用する」にチェック

プロジェクトURL:http://localhost/<プロジェクト名>/

・プロジェクトを実行

・他のPCから上記URLにアクセスするとブレークポイントで停止する

○デバッグ実行すると「Webサーバーでデバッグを開始できません。オブジェクト識別子が有効なオブジェクトを表現していません。(HRESULTからの例外:0x800710D8)」が発生する

・IISのサイトの認証で、Windows認証を有効にしてみる

・IIS削除→追加してみる

%systemroot%/Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

 

ASP.Net

○SVCのエラー

IIS7のログに sc-status=404、sc-substatus=13

IIS 7.0、IIS 7.5、および IIS 8.0 の HTTP 状態コード

404.13 – コンテンツの長さが長すぎます。

対策は、Web.configに

 <configuration>
    <system.web>
        <httpRuntime maxrequestlength="5120">
    </system.web>
</configuration>

以下はデフォ30000000バイトなので、超える場合は必要らしい

<configuration>
    <system.webServer>
        <security>
            <requestFiltering>
                <requestLimits maxAllowedContentLength="50000000">
            <requestFiltering>
        <security>
    </system.web>
</configuration>

MySql

・ログイン
>mysql -u root -p

・ユーザー追加
mysql>grant all on *.* to user@”192.168.0.%” identified by ‘pass’ with grant option;
※パスを空にするとエラーになるので、後で変更する

・終了
mysql>\q

MySQLコマンドラインツールの起動

MySQLに他のパソコンからリモート接続できない!

・CSVエクスポート

 SELECT
concat('"' , replace(ifnull(cast(ID as char), ''), '"', '""') , '"') as ID
,concat('"' , replace(ifnull(cast(削除 as signed), ''), '"', '""') , '"') as 削除
 FROM テーブル
 WHERE 削除 = 1
  INTO OUTFILE 'd:/table_file.csv'
 FIELDS TERMINATED BY ','
  ENCLOSED BY ''
  ESCAPED BY ''
LINES
  TERMINATED BY '\r\n'

bit型(del列)はそのままではバイナリエディタで確認しないと判別できなかった。
NULLは空文字に置換。
”で括られ、文字列内の”は二重にしている。
出力ファイルはUTF-8。

・バッチ処理

set PATH=%PATH%;"C:\Program Files\MySQL\MySQL Server 5.5\bin"
set osqlcmd=mysql -u root -h localhost -pPASS DB_NAME -B --default-character-set=utf8

FOR %%a in (table\*.sql) DO (
    %osqlcmd% < %%a
)
PAUSE

tableフォルダ内の*.sqlを全て実行する