افزايش كارايي نرم افزارهاي MVC


1- اجرا در Release Mode:
اضافه كردن كد زير در web.config:

<compilation debug="false" />

يا تغيير machine.config با كد زير:
<configuration>
  <system.web>
    <deployment retail="true"> </deployment>
  </system.web>
</configuration>

2- فقط از View Engine كه نياز داريد استفاده كنيد:
protected void Application_Start()
{
  ViewEngines.Engines.Clear();
  ViewEngines.Engines.Add(new RazorViewEngine());
}

3- Modelهاي Null را به View ارسال نكنيد

4- از خصوصيت OutputCacheAttribute براي محتوايي كه معمولا تغيير نمي كند استفاده كنيد:
[OutputCache(VaryByParam = "none", Duration = 3600)]
public ActionResult Categories()
{
  return View(new Categories());
}

5- از HTTP Compression استفاده كنيد:
<system.webserver>
  <urlcompression dodynamiccompression="true" dostaticcompression="true" dynamiccompressionbeforecache="true" />
</system.webserver>

6- HTTP Modules هاي غيرضروري را حذف كنيد:
هر ماژول كه براي اجرا ضروري بود را مجددا برگردانيد
<httpmodules>
  <remove name="WindowsAuthentication"></remove>
  <remove name="PassportAuthentication"></remove>
  <remove name="Profile"></remove>
  <remove name="AnonymousIdentification" />
</httpmodules>

7- Tracing را در حالت Off قرار دهيد:
<configuration>
  <system.web>
    <trace enabled="false">
  </trace>
</system.web>
</configuration>

8- ماژول URL Rewrite module را حذف كنيد.:
براي حذف بايد از Add or Remove Programs اقدام كنيد.
9- HTTP Headers را حذف كنيد:
<system.web>
  <httpruntime enableversionheader="false" />
</system.web>

و
<httpprotocol>
  <customheaders>
    <remove name="X-Powered-By">
  </customheaders>
</httpprotocol>


 1395/11/22       سيدحامد واحدي       فناوري



پر كردن چند كنترل(Combobox و ...) از يك ليست


combo1.DataSource = myDataset.Tables[0];
combo1.BindingContext = new BindingContext();

combo2.DataSource = myDatasetTables[0];
combo2.BindingContext = new BindingContext();


 1395/09/27       سيدحامد واحدي       فناوري



تبديل رشته حاوي جداكننده به سطرهاي جداگانه


SELECT A.ID,
    Split.a.value('.', 'VARCHAR(100)') AS CSVData
FROM
(
   SELECT ID,
       CAST ('' REPLACE(CSVData, ',', '') '' AS XML) AS CSVData
   FROM myTable
) AS A CROSS APPLY Data.nodes ('/Node') AS Split(a)


 1395/09/18       سيدحامد واحدي       



تغيير Permission براي خطاي Screen Overlay Detected در اندرويد


مطالب زيادي در اين خصوص در اينترنت وجود دارد كه همه مسير زير را براي خاموش كردن اعلام كرده اند:

Go to Settings -> Developer Options -> Simulate Secondary Displays -> None (Or Off)

اما ممكن است تنظيمات Developer فعال نباشد كه براي آن بايد مراحل زير را اقدام كنيد و 7 مرتبه روي Build Number ضربه بزنيد:
Settings -> About Phone -> Build Number

اما ممكن است پس از اين مراحل، متوجه شويد كه اين Option روي Off يا None قرار دارد و در يك دور باطل بيافتيد كه چرا با وجود خاموش بودن، همچنان خطا دريافت مي كنيد؟ در اين صورت لطفا File Manager (برنامه هايي مانند ES File Explorer يا CM File Manager و ...) را حذف كنيد و دوباره نصب كنيد.


 1395/09/11       سيدحامد واحدي       فناوري



گروه بندي روي چند فيلد در Linq


myList.GroupBy(gl => new { gl.field1, gl.field2, gl.field3 }).Select(sl => new Models.myModel
                    {
                        field1 = sl.First().field1,
                        field2 = sl.First().field2,
                        field3 = sl.First().field3,
                        field4 = string.Join(",", sl.Select(i => i.field4)),
                        field5 = sl.First().field5,
                        field6 = string.Join(",", sl.Select(i => i.field6))
                    })


 1395/08/27       سيدحامد واحدي       فناوري



عدالت حضرت مهدي عليه السلام و گسترش عدل و امنيت در دولت آن حضرت


جعفر بن سيّار شامي گويد:

يَبلُغُ مِن رَدِّ المَهدِيِّ المَظالِمَ
حَتَّي لَو كانَ تَحتَ ضِرسِ إنسانٍ شَيءٌ
انتَزَعَهُ حَتَّي يَرُدَّهُ .

پيگيري مهدي در استرداد اموالي
كه به ستم از مردم گرفته شده
به آنجا مي رسد كه اگر لقمه اي از اين اموال
زير دندان كسي هم باشد ،
آن را بيرون مي كشد تا به صاحبش باز گرداند .

الفتن ص191 ح5
الملاحم و الفتن ص68 ب139
عقد الدرر ص36 ب3


 1395/08/04       سيدحامد واحدي       مذهبي



پيدا كردن شماره انديس آخرين كاراكتر در رشته در SQL Server


فرض كنيد ميخواهيد نام فايل را از آدرس شناسايي كنيد؛ دستور Select زير كاربردي خواهد بود:

SELECT
      Addr,
      reverse(left(reverse(Addr), charindex('\', reverse(Addr)) -1)) AS FileName
    FROM myTbl


 1395/07/01       سيدحامد واحدي       فناوري



Shrink كردن فايل ديتابيس هاي يك سرور


با اجراي دستور زير مي توانيد ، دستورات مورد نياز براي Shrink كردن ديتابيس هاي يك سرور را بدست آوريد:

SELECT  'USE [Master]; ' ᵼ
            'ALTER DATABASE ' ᵼ QUOTENAME(name) ᵼ ' SET RECOVERY SIMPLE WITH NO_WAIT; ' ᵼ
            'USE ' ᵼ QUOTENAME(name) ᵼ '; ' ᵼ
            'DBCC SHRINKFILE(' ᵼ REPLACE(REPLACE(QUOTENAME(name), ']',''),'[','') ᵼ '_Log, 1)' ᵼ
            'USE [Master]; ' ᵼ
            'ALTER DATABASE ' ᵼ QUOTENAME(name) ᵼ ' SET RECOVERY FULL WITH NO_WAIT; '
      AS [To Execute]
    FROM sys.databases


 1395/04/18       سيدحامد واحدي       فناوري



متد IsNullOrWhiteSpace وجود ندارد


متد IsNullOrWhiteSpace در دات نت نسخه 4 اضافه شده است و اگر از نسخه هاي قديمي تر استفاده مي كنيد. اين متد در دسترس شما نيست. مي توانيد از نسخه 4 استفاده كنيد يا متدي همانند زير را به Helper خود اضافه كنيد و از اين متد استفاده كنيد:
public static bool IsNullOrWhiteSpace(string value)
{
  if (value != null)
  {
    for (int i = 0; i < value.Length; i )
    {
      if (!char.IsWhiteSpace(value[i]))
      {
        return false;
      }
    }
  }
  return true;
}


 1395/04/07       سيدحامد واحدي       فناوري



مشغله


خيلي وقت بود كه به دليل مشغله نتونستم بيام اينجا.......شايدم بهتره بگم امان از اين شبكه هاي اجتماعي كه اگرم وقتي بمونه اونجا سپري ميشه.
به قول سنجد دوران كودكي ...... برميگردم ........ هااااااااااااااااا


 1395/02/23       سيدحامد واحدي       شخصي




© 2004-2017؛ hamedvahedi.com - تمامي حقوق محفوظ است