投稿

c# .netframework WebAPIで呼び出し元をNLogする

APIで呼び出し元を出力する必要があったのでメモしておく。 System.Collectionsは、nugetでインストールする必要があるかもしれない。 dynamicはstringでキャストしないとExceptionを吐く。 using System.Collections.Generic; [RoutePrefix("api")] public class ApiTestController : ApiController { private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); private string httpContext = "MS_HttpContext"; /// /// ログイン /// /// For Debug [HttpGet] [Route(nameof(Index))] public Dictionary<string, string> Index() { logger.Info("=== Index Controller START"); dynamic ctx = this.Request.Properties[httpContext]; if (ctx != null) { logger.Info("UserHostAddress: {0}", (string)ctx.Request.UserHostAddress); logger.Info("UrlReferrer {0}", (string)ctx.Request.UrlReferrer); Dictionary<string, string> dict = new ...

Windows PowerShell csvファイル文字列置換

csvファイルの一覧が記載されたファイルがある。 このcsvファイルの中身を次々に置換していくスクリプトを作成する。  # デバッグ表示 $DebugPreference = "Continue" # $DebugPreference = "SilentlyContinue" # ##### ログファイル設定 # ログファイル名取得 $SCRIPT_NAME = $myInvocation.MyCommand.name; $SCRIPT_NAME_WITHOUT_EXT = [System.IO.Path]::GetFileNameWithoutExtension($SCRIPT_NAME); Write-Debug "MyInvocation.MyCommand.Name: $SCRIPT_NAME_WITHOUT_EXT" # ログディレクトリ設定 $LogPath = ".\Log"                            # ログの出力先 # ログフォルダーがなかったら作成 if( -not (Test-Path $LogPath) ) {     New-Item $LogPath -Type Directory } # ログファイル名設定(XXXX_YYYY-MM-DD.log) $Now = Get-Date $LogFile = $SCRIPT_NAME_WITHOUT_EXT + "_" +$Now.ToString("yyyy-MM-dd") + ".log" $LogFileName = Join-Path $LogPath $LogFile # ##### ログ出力関数 function Write_Log {     param(         $LogString     )          $Now...

C++の古いプロジェクトのビルドでerror MIDL2311 : statements outside library block are illegal in mktyplib compatability mode

IDEはVS2019。 ビルドすると、 error MIDL2311 : statements outside library block are illegal in mktyplib compatability mode が発生する。 (対応方法) ***.vcxprojファイル内の <MkTypLibCompatible>true</MkTypLibCompatible> を全て <MkTypLibCompatible>false</MkTypLibCompatible> にする。 参考 Error MIDL2311 : statements outside library block are illegal in mktyplib compatability mode

Dotnet FrameworkでSystem.Diagnostics.ConsoleTraceListenerを使う

Console Applicationを作成する。 App.configは以下の通り。 <configuration > <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> </startup> <system.diagnostics> <sources> <source name="TraceTest" switchName="sourceSwitch" switchType="System.Diagnostics.SourceSwitch"> <listeners> <add name="Console"/> <add name="myListener"/> <remove name="Default"/> </listeners> </source> </sources> <switches> <!--<add name="sourceSwitch" value="Warning"/>--> <!--<add name="sourceSwitch" value="Information"/>--> <add name="sourceSwitch" value="Verbose"/> </switches> <sharedListeners> <add name="myListener" type="System.Diagnostics.TextWriterTraceL...

SQL ServerでDBを作成しデータをinsertしたメモ

SQLサーバにデータベースを作成してデータを挿入してみた。 これをファイルにして、バッチで実行させてみたい。   -- Create Database IF NOT EXISTS (select * from master..sysdatabases where name='DB_CHK') CREATE DATABASE DB_TEMP COLLATE Japanese_BIN2 GO USE DB_CHK; -- select object_id('Student'); -- create table if object_id('Student') is null CREATE TABLE Student ( StudentGPAID INT NOT NULL IDENTITY(1,1) PRIMARY KEY, GradeYear TINYINT NOT NULL, Semester NVARCHAR(20) NOT NULL, GradeScore DECIMAL(5,2) NULL, GPA CHAR(1) NULL, CompletedFlag BIT NOT NULL DEFAULT (0) ) go -- Auto rollback when happened Error. SET XACT_ABORT ON begin transaction begin try insert into Student ( GradeYear, Semester, GradeScore, GPA, CompletedFlag) values ( 19, '3学期', 1.01, 'A', 1); insert into Student ( GradeYear, Semester, GradeScore, GPA, CompletedFlag) values ( 20, '2学期', 2.02, 'B', 0); insert into Student ( GradeYear, Semester, Gra...

MSbuildコマンドをバッチファイルで実行し、ログを出力する(Visual Studio2019 Community)

JenkinsでMSBuildを実行するためにバッチファイルを作成したのでメモしておく。 引数には、「ソリューション構成」を設定。 エラーログを日付を入れたファイルで出力させる。 @echo off rem ログファイルに日付を入れる set dt1=%date:~0,4%%date:~5,2%%date:~8,2% set tm1=%time:~0,2%%time:~3,2%%time:~6,2% set fname1=%dt1%_%tm1% rem set WORK_DIR=%~dp0 set WORK_DIR=F:\svn\trunk pushd %WORK_DIR% rem ログ出力先 set OUTPUTS=%WORK_DIR%\..\publish rem ソリューション構成の設定(引数設定) set CONFIG=%~1 if "%CONFIG%"=="" set CONFIG=Release If not exist %OUTPUTS%\%CONFIG% mkdir -p %OUTPUTS%\%CONFIG% SET MSBuildPath=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\ SET BuildPath=F:\svn\trunk "%MSBuildPath%\MSBuild.exe" "%BuildPath%\WebMVC.csproj" ^ /t:WebPublish /p:Configuration=%CONFIG% ^ /p:WebPublishMethod=FileSystem ^ /p:publishUrl=%OUTPUTS%\%CONFIG% ^ -fl1 -fl2 -fl3 ^ -flp2:logfile=%OUTPUTS%\JustErrors-%dt1%_%tm1%.log;errorsonly ^ -flp3:logfile=%OUTPUTS%\JustWarnings-%dt1%_%tm1%.log;warningsonly if %errorlevel% neq 0 ( ech...

CentOS7 on VagrantにSubversionをインストール

 やった手順を書こうと思ったが、このサイトの通り1ミリも違いがないので、このサイトを忘れないようにリンクだけ貼っとく。 (参考サイト) VMwareのCentOSをSVNサーバにして、開発環境のバージョン管理用に構築してみた svn command line tool  【svn】基本コマンド