2019年11月22日 星期五

A potentially dangerous Request.Path value was detected from the client (?)

markdown

最近看到elmah收到奇怪的錯誤訊息

`A potentially dangerous Request.Path value was detected from the client (?)`

看網址,路由也正常,`path?querystringname=querystringvalue`這樣的格式
後來查了一下
原來要注意的是`HTTP_X_WAWS_UNENCODED_URL`這個欄位
可以發現他丟過來的是邊碼過的問號符號`%3F`

所以實際上並不符合查詢參數格式,就判斷為危險字元了

丟這個的還是AdsBot-Google (+http://www.google.com/adsbot.html)
WTF...

2019年11月8日 星期五

iOS html5 video autoplay

markdown

有個需求是要自動播一個mp4影片在活動網頁頂部
在mobile上也要自動播
影片本身沒有音效需求,只是影像

將video tag設定了`autoplay` 自動播放、 `muted` 靜音,
在android的chrome上是會自動播放,但是在ios的safari & chrome上無效,

根據這篇文章應該是靜音就可以了,
嘗試拿免費軟體shotcut將影片檔重新匯出無音軌的,也沒有用

後來看apple的官網文章
https://developer.apple.com/documentation/webkit/safari_tools_and_features/delivering_video_content_for_safari#3030250

還要再加上一個 `playsinline` 屬性才行


加上了之後的確可以了,不需要無音軌影片,靜音即可

2019年10月30日 星期三

查看Azure Function 佈署的檔案日期 | Check Azure Function 's file date

MARKDOWN

進入portal→函數應用程式→平台功能→主控台

然後移至bin資料夾

``` cd bin ```

再顯示資料夾內檔案

``` dir ```

就可以看見檔案的日期了

用 powershell 批次取代資料夾內檔案檔名文字 | Use powershell replace file name in folder

MARKDOWN

想要大量去更改資料夾內檔案的某些字詞為另外的字詞時可以這樣用

``` Dir | Rename-Item -NewName { $_.name -replace "_soldout..png", "_out.png" } ```

2019年4月19日 星期五

2019年3月14日 星期四

使用angular-cli-ghpages 建置Angular靜態專案 到GitHub Page | use angular-cli-ghpages build angular static project to GitHub Page

markdown

# 背景

最近學了angular入門實作,想要把之前寫的一個小工具翻成angular網站,
當時在製作GitHub page的時後卡了很久,
因為之前是用Visual Studio 2015 Community 開sln,然後再推上去,
結果資料夾層級讓那個路徑重複了好幾次,後來就放棄沒改了

現在好奇有沒有工具可以幫我簡單把angular專案建立到github page上
於是找了一下找到了教學文,他是使用`angular-cli-ghpages`這個套件,
基本上照著做沒有問題

Deploying an Angular App to Github Pages
https://alligator.io/angular/deploying-angular-app-github-pages/

但是要注意github最近出了私有模式,而page似乎不能給私有專案用(也是合理),
所以要開public的repo。

還有推上去後他會自動建一個branch來放這些build過的檔案,
若在ngh後面接上指定branch的參數放上去,他會把舊的檔案都蓋掉,只放build後的檔案

# 實作

1.建立GitHub repo,記得要是公開的
2.建立angular空白專案
```
$ ng new myNewProject ```
3.將專案的遠端分支登記為GitHub 的repo
```
$ git remote add origin <github git url> ```
4.將ng專案建置,並填入根目錄網址為page的網址
```
$ ng build --prod --base-href "https://<user-name>.github.io/<repo>/" ```
5.使用angular-cli-ghpages的指令建置page
```
$ ngh ```
6.等他建好提示訊息就好啦


2019年1月11日 星期五

Entity Framework Include 導覽屬性的導覽屬性 | Entity Framework Include navigation property of navigation property

markdown

# 問題背景

某個DB處理會撈出訂單、訂單明細、品項主檔
訂單明細是訂單的導覽
品項主檔是訂單明細的導覽

想要在LINQ撈出來資料時就把相關資料也加進來,避免後面處理時才去連DB
但是又不能`.Include("訂單明細").Include("品項主檔")`
不知道怎寫

# 解答

參考這篇
https://stackoverflow.com/questions/614809/entity-framework-include-navigation-of-another-navigation-property

```
.Include("訂單明細.品項主檔") ```

這樣就行了