Category Archives: .Net Tips And Tricks

HTML5 Upload PDF only

今天在公司更新了一個功能是讓使用者上載文件
e.g. PDF/doc/docx等等

希望可以和大家分享

< input accept="application/pdf,application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document" name="Upload Saved Replay" type="file" />
<input accept="application/pdf,application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document" name="Upload Saved Replay" type="file" />

Hope you find it useful

‘ssh’ is not recognized as an internal or external command – 如何在Windows 命令提示符 上使用 SSH

很多時候網上的教學都是使用LinuxMacBash
有很多時候都會使用到SSH

最近嘗試在Windows 的Command Prompt上使用 SSH時出現以下的錯誤信息
‘ssh’ is not recognized as an internalor external command, operable program or batch file
SSH is not recognized

如何可以在Windows 命令提示符 上使用 SSH
解決方法十分簡單
相信很多Developer都有使用Git
如果唔有的話可以到以下網址 下載及安裝Git
https://git-scm.com/downloads

安裝完成後..便可以在WindowsEnvironment Path 環境變數上的 “Path“變數上加上
Git\usr\bin 的路徑
因為這個路徑上存有很多有用的工具/程式
E.G
C:\Program Files\Git\usr\bin
Git User Bin Path

按下”確定“便可以了
Add Environment Variable on Windows 10 for Git User Bin

之後當我們在WindowsCommand prompt上執行 SSH
Successfully Run SSH on Windows
Hope you find it useful

CS1617: Invalid option ‘6’ for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default

在公司Download / 執行網上教學的Sample Code 來測試時
久不久便會出現以下的錯
CS1617: Invalid option ‘6’ for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default
CS1617: Invalid option '6' for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default

這是因為Sample Code是用了Visual Studio 2015 來建立的 Default的 .Net Framework4.5.2 / 4.6
而公司是使用Visual Studio 2013.Net Framework是 4.5

所以Web.Config上有小小Mis-match
解決方便 十分簡單
我們只需要更改 compilerOptions=”/langversion:6 改變成 compilerOptions=”/langversion:5 便可以了

更改前

&lt;system.codedom&gt;
 &lt;compilers&gt;
 &lt;compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,
 System, Version=4.0.0.0, Culture=neutral,
 PublicKeyToken=b77a5c561934e089" warningLevel="4" 
 compilerOptions="/langversion:6 /nowarn:1659;1699;1701"&gt;
 &lt;providerOption name="CompilerVersion" value="v4.0"/&gt;
 &lt;/compiler&gt;
 &lt;compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&amp;quot;Web\&amp;quot; /optionInfer+"/&gt;
 &lt;/compilers&gt;
 &lt;/system.codedom&gt;

Original Web.config
更新後

 &lt;system.codedom&gt;
 &lt;compilers&gt;
 &lt;compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,
 System, Version=4.0.0.0, Culture=neutral,
 PublicKeyToken=b77a5c561934e089" warningLevel="4" 
 compilerOptions="/langversion:5 /nowarn:1659;1699;1701"&gt;
 &lt;providerOption name="CompilerVersion" value="v4.0"/&gt;
 &lt;/compiler&gt;
 &lt;compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&amp;quot;Web\&amp;quot; /optionInfer+"/&gt;
 &lt;/compilers&gt;
 &lt;/system.codedom&gt;

Web.config for VS2013
CS1617 Issue Fixed
Hope you find it useful

SQL Server Rebuild Index for all the tables via TSQL – 如果幫資料庫重建索引所有表單

Rebuild Index 相信是 Database Maintenance 的其中一個重要任務

如何 Rebuild All Index for All the table in a database

解決方法十分簡單.

SQL Server Management Studio (SSMS) 選擇了Database之後
建立一個新的Query

之後我們可以執行以下的 SQL程式碼

 
DECLARE @TableName varchar(255) 
 
DECLARE TableCursor CURSOR FOR 
 
SELECT table_name FROM information_schema.tables 
 
WHERE table_type = 'base table' 
 

OPEN TableCursor 
 
FETCH NEXT FROM TableCursor INTO @TableName 
 
WHILE @@FETCH_STATUS = 0 
 
BEGIN 
 
DBCC DBREINDEX(@TableName,' ',100) 
 
FETCH NEXT FROM TableCursor INTO @TableName 
 
END 
 
CLOSE TableCursor 
 
DEALLOCATE TableCursor 

我們可以參考 Technet SQL Gallery
https://gallery.technet.microsoft.com/scriptcenter/Script-for-rebuilding-all-8d079754

Hope you find it useful

.Net How to Add slash correctly for Path – 如何安全地建立資料夾路徑

公司需要寫了一個小小的Document Repository 的功能

還記得之前自己經驗有時候使用者會把他們輸入的路徑會有”/“.. 但是有時卻沒有
所以我之前便寫了一個很無聊的功能 AddSlash.. 去檢查 User Input是不是以 / 來開首或結尾..
之後再幫這個User Input 適當地加上 Slash

最近發現原來.Net Framework自己已經有一個很好用的功能
Path.combine. 你可以把Path 放進他的變數內..
之後他便會幫你建立你的Path/路徑

E.G.

using System;
					
public class Program
{
	public static void Main()
	{
		string driveLetter = @"D:\";
		string folder1 = "Data";
		string folder2 = @"Files\";
	    string folder3 = @"sharechiwai";
		string t = System.IO.Path.Combine(driveLetter, folder1, folder2,folder3);
		
		// Return output
		Console.WriteLine(t);
	}
}

.Net Path.Combine functionHope you find it useful