顯示具有 ASP NET 標籤的文章。 顯示所有文章
顯示具有 ASP NET 標籤的文章。 顯示所有文章

2017年12月19日 星期二

【Asp.net C# Dictionary】Dictionary 包 Dictionary 如何 直接new 資料

【Asp.net C# Dictionary】Dictionary 包 Dictionary 如何 直接new 資料

    Dictionary> A =
    new Dictionary>()
    {
        { 1, new Dictionary {{ "Index", "B"}}}
    };

2017年9月25日 星期一

【Entity Framework】IQueryable VS IEnumerable 用法 或 差別  (ASP NET, Entity Framework,C#)

IQueryable 每次直接撈 DB 資料庫 , 花費 DB 暫存記憶體

IEnumerable 第一次撈 DB 資料庫,花費 DB 暫存記憶體,以及暫存記體在(Web.IIS 程序)上
    再撈第二次,直接勞取「暫存記體在(Web.IIS 程序)上」,不再撈 DB
    除非 暫存記體在(Web.IIS 程序) 被 Entity Framework 指名 清掉,才會重新撈取

2017年2月16日 星期四

【ASP.MVC】Line 瀏覽器 UserAgent 資料 Line/7.0.1/IAB

UserAgent 記錄如下:

Mozilla/5.0 (Linux; Android 5.0.2; HTC_One_max Build/LRX22G; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36 Line/7.0.1/IAB

2016年9月6日 星期二

【ASP NET.MVC, C# 】 Class to Json returun String to html 解析 String to obj

【ASP NET.MVC, C# 】Class to Json returun String to html 解析 String to obj

Action
return Json(save_result, "text/html", JsonRequestBehavior.AllowGet);

Html
JSON.parse(data.result);


2016年7月20日 星期三

【ASP.NET Web Form】Microsoft AspNet FriendlyUrls 友善網址 問題 404 處理

工具:Microsoft.AspNet.FriendlyUrls
NuGet : Microsoft.AspNet.FriendlyUrls.Core

俗稱:友善網址

說明:
若佈署環境在Windows 2008 或 R2 ,必需 在 web.config 加如以下設定,不然 IIS 會跳出 404 錯誤訊息

 
   
   
 


或下載:KB980368

【404 解決問題參考連結】

國外
https://weblog.west-wind.com/posts/2011/Mar/27/ASPNET-Routing-not-working-on-IIS-70

國內
https://msdn.microsoft.com/zh-tw/library/ee358760(v=vs.110).aspx

http://blog.darkthread.net/post-2015-05-30-aspnet-mvc-on-win2008.aspx

【安裝設定參考連結】
http://vmiv.blogspot.tw/2014/02/aspnet-web-sitefriendly-url.html

2016年7月12日 星期二

【ASP.NET】NuGet 封裝管理員 Migrations

啟用 Code First 移轉

【指令】
Enable-Migrations
Add-Migration init
Update-Database
參數-1:-Force 強制更新
參數-2:-Verbose

系統自動產生資料表:__MigrationHistory


【使用 Code First 移轉而不使用初始設定式】
說明:You get the script within Visual Studio. Notice that this will create a new table called __MigrationsHistory which is used by Entity Framework to keep track of migrations.
說明連結:http://martinnormark.com/entity-framework-migrations-cheat-sheet/

public Configuration()
{
    AutomaticMigrationsEnabled = false;
}


【在移轉中植入資料】
Msdn 官網說法:
DbMigrationsConfiguration.Seed 方法
[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 msdn.com/data/ef。]
在升級為最新的移轉之後執行,以便允許更新初始資料。


【相關參考網址如下】
https://azure.microsoft.com/zh-tw/documentation/articles/mobile-services-dotnet-backend-how-to-use-code-first-migrations/
http://martinnormark.com/entity-framework-migrations-cheat-sheet/
https://dotblogs.com.tw/kevinya/2013/10/31/126299
Msdn官網:https://msdn.microsoft.com/zh-tw/data/jj591621.aspx

2016年6月21日 星期二

【Asp.net C#】 byte 轉換 Base64String 、byte 內含中文處理方式


Convert.ToBase64String 方法 (Byte[])
https://msdn.microsoft.com/zh-tw/library/dhx0d524(v=vs.110).aspx

Convert.FromBase64String 方法 (String)
https://msdn.microsoft.com/zh-tw/library/system.convert.frombase64string(v=vs.110).aspx

ASCII只能處理單byte字元(ascii碼介於0~255)無法處理中文


字串以系統編碼方式轉換成Byte的形式
System.Text.Encoding.Default.GetBytes(String)

Function 參數:[Object-Byte陣列],[起值],[未端長度]
System.Text.Encoding.Default.GetString(temp_byte,0,temp.length)


byte 合併  function 參考國外
【方法1】
public static byte[] Combine(byte[] first, byte[] second)
{
    byte[] result= new byte[first.Length + second.Length];
    Buffer.BlockCopy(first, 0, ret, 0, first.Length);
    Buffer.BlockCopy(second, 0, ret, first.Length, second.Length);
    return result;
}

【方法2】
List temp_list = new List();
foreach (byte item in head_byte.ToList())
  temp_list.Add(item);

【方法3】
byte[] result  = head_check.Concat(head_byte).Concat(body_byte).Concat(end_byte).ToArray();

參考網址:
http://stackoverflow.com/questions/415291/best-way-to-combine-two-or-more-byte-arrays-in-c-sharp

2016年5月6日 星期五

【ASP.Net MVC】 Tool MVC.Elmah、 Elmah.Mvc

NuGet 安裝指令:

Elmah.MVC 安裝 指令:Install-Package Elmah.MVC

elmah 資料庫 指令:Install-Package elmah.sqlserver

elmah 資料庫可以不用安裝,但 Elmah.MVC 要安裝,他會建立一個xml  error

至於 elmah 資料庫  他會把 error 寫在資料庫

比較完整說明 - 參考連結:http://koko.ntex.tw/wordpress/asp-net-mvc-setup-elmah-and-nlog-1-intro-install-elmah/

舊版說明 參考連結:http://blog.miniasp.com/post/2013/03/12/ASPNET-MVC-4-and-ELMAH-Integration.aspx

2016年1月13日 星期三

【T-SQL】 APPLY CROSS APPLY 與 OUTER APPLY 使用

資料庫相容性層級至少必須是 90

相關範本1:https://technet.microsoft.com/zh-tw/library/ms175156(v=sql.105).aspx
說明:

相關範本2:https://www.mssqltips.com/sqlservertip/1958/sql-server-cross-apply-and-outer-apply/
說明:有各用的APPLY 用法

CROSS APPLY
說明:交叉比對 Inner Join ,兩邊有符合資料才會出現

OUTER APPLY
說明:像 Left join 方法,左邊為主,右邊為輔,若右邊沒有ID 符合左邊ID,就會出現NULL


使用說明:
1.APPLY 使用,回傳 table , 但多筆row的話 ,會造資料變成 Cross Join 方法,N x N 資料表
除非有加上 Where 條件

2.OUTER APPLY 使用,若回傳 table 單筆 row 的話,就會像Left Join

3.Corss APPLY 使用,若回傳 table 單筆 row 的話,就會像Inner Join

4.APPLY 使用方法有兩種
第一種:
---------------------------------
SELECT * FROM A
Outer Apply
(
 SELECT * From B
 Where B.id = A.id
)Temp
---------------------------------

第二種
SELECT * FROM A
Outer Apply FunctionName(A.id) Temp

---------------------------------







2015年12月28日 星期一

【ASP.NET】Module 與 EenableSessionState 和 IIS 整合式

您搜尋到這篇文章

如果有關連字

網站首頁跳出alert 以下誤錯訊息

EenableSessionState 必需要 true , PAGE 上需加上 SESSION 為true

然後網站圖片 都是錯誤找不到照片,就連 CSS 都找不到

以上如果您有此問題,再加上 你有使用App_Code 中有設定 呼叫 Module .cs ,及 IIS 突然設定 整合式

就中獎了..


主要原因出現在  App_Code 中有隻  Module .cs 程式,撰寫中出現問題,

導致在 IIS 模組載入時失敗,不認得所有檔案格式( MIME Type )

修正辦法,必需要調整你的Module.cs 寫法是否符合  IIS 整合式 元件,有些是無法使用,

你可以先測試看看 拿掉 IIS 中本機 你寫的 module ,或者先從web.config 拿掉,

若可以Run 的話,代表 module .cs 有問題

但IIS 傳統式的方式相容性比較高

以上,有任何問題可以再留言給我

2015年12月23日 星期三

【ASP.NET SQL】有關於 開發時使用到:Geography Geometry 資料 null 問題

Asp.net 開發時使用到 圖台 出現臨時問題


可能會用到 兩種型態欄位 Geography / Geometry

當build 好的web 程式放在 Windows 2012 R2 上,環境 Framework 4.5 及 iis 8.5 內

顯示頁面記錄:讀取程式中 Geography / Geometry 資料時, 會是 null

原因:Framework CLR 不支援 SQL 格式欄位,就直接顯示 NULL

解決方案一:

專案 bin 中沒有引用到 Microsoft.SqlServer.Types.dll 元件
所以會出問題...你可以加入參考元件,它讓在bin 出現,
然後web.config 中 記得要加入以下

< add assembly="Microsoft.SqlServer.Types, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" >

它的存在是,本機有安裝 SQL 2008 R2 它就會裝在:
C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Types.dll
就能找到它


解決方案二:

你可以裝 軟體全名是:Microsoft® System CLR Types for SQL Server® 2008 R2
下載連結:https://www.microsoft.com/zh-tw/download/details.aspx?id=16978

檔案:SQLSysClrTypes.msi   (看系統核心是i64 或x86)

下載連 頁面中有一小段的說明:
SQL Server 系統 CLR 類型封裝包含一些元件,可實作 SQL Server 2008 R2 中的幾何、地理和階層識別碼類型。這個元件可以與伺服器分開安裝,以便讓用戶端應用程式在伺服器外部使用這些類型。

注意:本元件也需要 Windows Installer 4.5。 應該windows 2012 R2 應該是符合

安裝完後必需web 應用程式集區點選回收,或IIS重新啟動,就可以在開發專案程式不用引用Microsoft.SqlServer.Types.dll元件,

PS.好奇之心 SQL CLR 到底安裝了什麼,結果居然是一模一樣的檔案跟路徑,或許有其它東西我沒發現,總言之,就是這樣子處理掉問題


下載不同 2008 CLR  版本 ,看你資料庫是用哪種
Microsoft® SQL Server® 2008 R2 功能套件
https://www.microsoft.com/zh-tw/download/details.aspx?id=16978

Microsoft® SQL Server® 2008 R2 SP1 功能套件
https://www.microsoft.com/zh-tw/download/details.aspx?id=26728

Microsoft® SQL Server® 2008 R2 SP2 功能套件
https://www.microsoft.com/zh-tw/download/details.aspx?id=30440

2015年11月12日 星期四

【ASP.NET】具有潛在危險Request.Form 問題處理

Framework 4.0 環境 、web form

具有潛在危險Request.Form 問題處理 出現狀況:
當網址參數有特殊 html tag 標籤:比如
等....,就會出現訊息


而我在web.config error page 無法攔截 ,導致呈現系統的原始錯誤訊息

處理方式有幾招

【第一招】
解決1:頁面上加上:ValidateRequest="false"
<%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1"

PS.pages validateRequest單一頁面開了洞,有資安大問題

【第二招】
解決2:web.config 加上紅色兩行

system.web 裡面加
1.第二招之1
httpRuntime requestValidationMode="2.0"
若不行再加上以下
pages validateRequest="false" 等同第1招,但是是全網站

參考網址說明:http://shiyousan.com/post/635563669112062894

Ps.pages validateRequest 缺點資訊安全開了個門,requestValidationMode降低驗證方法

【第三招】
解決3:程式必需特別加寫 Page_Error 裡面處理

PS.在程式加寫ERROR 訊息,轉頁動作,有點麻煩


【第四招】
解決4:在Global 檔裡面處理

Application_Error 事件裡面加上
            if (typeof(System.Web.HttpRequestValidationException) == Server.GetLastError().GetType())
            {
                logger.Info("Ezland.Web: application error");
                logger.Info(Server.GetLastError().Message);
                Response.Redirect("~/ErrorPage.aspx");

            }
PS.最好的解法

流程是 頁面 ERROR  沒有特別寫,會到web.config ,Web.config 失效的話會導向Global Application_Error 事件處理

2015年7月2日 星期四

【ASP.NET】透過 xslt to xls 匯出 excel 在 excel 2003 問題


透過 xslt to xls 匯出excel 在 excel 2003 問題

合併的時候會多出以下字串



但在OFFICE 2003 excel 不認識它,

所以、必需要 replace 掉,

否則開出來是白空的excel

2015年5月5日 星期二

2014年9月26日 星期五

【ASP.NET】透過 JQUERY JSON AJAX 呼叫 asp.net WEB service 問題(POST 跟 GET )

透過  JQUERY  JSON  AJAX  呼叫  Asp.net WEB service 問題(POST 跟 GET )

但發佈上去後,別人電腦透過網址連線,卻發生 問題

在chrome 錯誤訊息說什麼找不到 IIS 500 訊息

但在本機卻都沒問題

jquery 程式如下:

    function callHellWord() {
        $.ajax({
            type: "POST",
            url: "http://XXXX.XXXX.XXXX.tw/service/XXXXXX.asmx/ApplyWifi",
            contentType: "application/json; charset=utf-8",
            dataType: "text",
            success: function(data) {
    alert('ok');
            }
        });
    }

一、原來問題出在 web.config 上

二、因為路徑問題,所以URL 要完整路徑
只要加上 允許 部份就可以了,預設是關閉
   
WEB.CONFIG 官方參考網址: http://msdn.microsoft.com/zh-tw/library/aa719747(v=vs.71).aspx

2014年9月21日 星期日

【VS 2010 】vs2010 工具箱 標準項目 不見

【VS 2010 】 Microsoft Visual Studio 2010

vs2010 工具箱 內 標準 項目 不見

【為何不見】
軟微更新動到 一些設定


【如何恢復】
你的 vs2010 的捷徑
 右鍵\相容性
把相容性 勾勾取消掉


就搞定了




2014年8月28日 星期四

【ASP.NET】時間 GET TIME

// create date time 2008-03-09 16:05:07.123
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);

String.Format("{0:y yy yyy yyyy}", dt);  // "8 08 008 2008"   year
String.Format("{0:M MM MMM MMMM}", dt);  // "3 03 Mar March"  month
String.Format("{0:d dd ddd dddd}", dt);  // "9 09 Sun Sunday" day
String.Format("{0:h hh H HH}",     dt);  // "4 04 16 16"      hour 12/24
String.Format("{0:m mm}",          dt);  // "5 05"            minute
String.Format("{0:s ss}",          dt);  // "7 07"            second
String.Format("{0:f ff fff ffff}", dt);  // "1 12 123 1230"   sec.fraction
String.Format("{0:F FF FFF FFFF}", dt);  // "1 12 123 123"    without zeroes
String.Format("{0:t tt}",          dt);  // "P PM"            A.M. or P.M.
String.Format("{0:z zz zzz}",      dt);  // "-6 -06 -06:00"   time zone


// month/day numbers without/with leading zeroes
String.Format("{0:M/d/yyyy}", dt);            // "3/9/2008"
String.Format("{0:MM/dd/yyyy}", dt);          // "03/09/2008"

// day/month names
String.Format("{0:ddd, MMM d, yyyy}", dt);    // "Sun, Mar 9, 2008"
String.Format("{0:dddd, MMMM d, yyyy}", dt);  // "Sunday, March 9, 2008"

// two/four digit year
String.Format("{0:MM/dd/yy}", dt);            // "03/09/08"
String.Format("{0:MM/dd/yyyy}", dt);          // "03/09/2008"

2014年7月10日 星期四

【asp.net jquery json】解決出現 is not allowed by Access-Control-Allow-Origin

我的做法是:
asp.net 頁面上使用 jquery json 格式
到跨ip 回傳到 ashx 的頁面讀資料,
導致

Chrome 頁面上出現錯誤訊息

allow xxx 鬼的

只要 在ashx 那隻上面 加以下這樣就可以了

HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");

另外記得json 回傳的conten-type 要定義相符,不然資料會有問題