نظرات مطالب
انجام کارهای زمانبندی شده در برنامه‌های ASP.NET توسط DNT Scheduler
شرط رو به این صورت گذاشتم : return now.Minute % 50 == 0  && now.Second==1 
انتظار این بود که در لحظاتی که دقیقه صفر و ثانیه یک و یا دقیقه 50 و ثانیه یک باشد عملیات مورد نظر (در اینجا تهیه نسخه پشتیبان صورت پذیرد ) به عبارتی در هر ساعت دو بار این شرایط مهیا می‌شود ولی نتیجه به صورت ذیل شد :
12:50:01      12:50:02   13:00:01   13:00:02   13:50:01   13:50:02    14:00:01   14:50:01   15:00:01   15:00:02

زمانهایی که بولد شدند قاعدتا نباید جاب اجرا می‌شد . احتمالا مشکل چی می‌تونه باشه ؟
پاسخ به بازخورد‌های پروژه‌ها
خطا در زمان تایید پرداخت
روی سرور هیچ vpn یا پروکسی وجود نداره
بله منظور شما رو فهمیدم دقیقا مشکل من هم اینجاست چرا وقتی vpn یا پروکسی وصل هست این خطا صادر میشه اما وقتی vpn وصل نیست این خطا صادر نمیشه
ونکته دیگه الان یه مورد دیگه هم تست کردم ساعت ثبت سرور رو بررسی کردم ساعت 14:20:30 ثانیه بود
زمانیکه خرید انجام شد و به سمت سایت برگشت این خطا رو صادر کرد ساعت برگشت به تراکنش 14:21:18 ثانیه بود این مورد برای این 2 روز بوده و روزهای دیگه مشکلی نبوده (این تست بدون vpn بوده)
نظرات مطالب
C# 6 - Null-conditional operators
یک نکته‌ی تکمیلی: بهبود Null Coalescing Assignment در C# 8.0
ساده سازی انتساب مقداری به یک متغیر، اگر نال باشد:
- روش انجام اینکار تا پیش از C# 8.0
if (variable == null)
{
   variable = expression; // C# 1..7
}
- در C# 8.0
variable ??= expression; // C# 8
اشتراک‌ها
پشتیبانی از NET Core 1x. این ماه به پایان می‌رسد


Version Original Release Date Latest Patch Version Patch Release Date Support Level End of Support
.NET Core 3.1 Scheduled for November 2019

Will be LTS when released
.NET Core 3.0 Scheduled for September 23, 2019

Will be Current when released
.NET Core 2.2 December 4, 2018 2.2.5 May 14, 2019 Current December 23, 2019
.NET Core 2.1 May 30, 2018 2.1.11 May 14, 2019 LTS At least three years from LTS declaration (August 21, 2018)
.NET Core 2.0 August 14, 2017 2.0.9 July 10, 2018 EOL October 1, 2018
.NET Core 1.1 November 16, 2016 1.1.13 May 14, 2019 Maintenance June 27 2019
.NET Core 1.0 June 27, 2016 1.0.16 May 14, 2019 Maintenance June 27 2019
پشتیبانی از NET Core 1x. این ماه به پایان می‌رسد
نظرات مطالب
دات نت 4 و کلاس Lazy
کتاب مفیدی برای شروع کار و یا یادگیری برای بکار بردن C#4 بنظرتون میاد:
Addison-Wesley Essential C# 4.0 (978 Pages)
Wrox Professional C# 4 and .NET 4 (1852 Pages)
OReilly C# 4.0 in a Nutshell 4th Edition Feb 2010 (1056 Pages)
Sams C# 4.0 How To Feb 2010 (669 Pges)
Effective C# 50 Specific Ways to Improve Your C# Second Edition (342 Pges)
مطالب
iTextSharp و نمایش صحیح تاریخ در متنی راست به چپ

خروجی PDF زیر را در نظر بگیرید:

مشکلی را در آن مشاهده می‌کنید؟ اصل آن یا صحیح آن باید به شکل زیر باشد:


و این وارونه نمایش دادن‌ها، دقیقا مشکلی است که حین کار با iTextSharp برای نمایش متنی مثلا به همراه یک تاریخ شمسی وجود دارد. البته این مشکل هم اساسا به خود استاندارد یونیکد برمی‌گرد که یک سری کاراکتر را «کاراکتر ضعیف» معرفی کرده؛ برای مثال کاراکتر اسلش بکار رفته در یک تاریخ هم از این دست است. بنابراین PDF تولیدی توسط iTextSharp از دید استاندارد یونیکد مشکلی ندارد، زیرا یک «نویسه ضعیف» مثل اسلش نمی‌تواند جهت را تغییر دهد؛ مگر اینکه از یک «نویسه قوی» برای دستکاری آن استفاده شود. برای مثال این نویسه‌ها قوی هستند:

U+202A:   LEFT-TO-RIGHT EMBEDDING (LRE) 
U+202B:   RIGHT-TO-LEFT EMBEDDING (RLE)
U+202D:   LEFT-TO-RIGHT OVERRIDE (LRO)
U+202E:   RIGHT-TO-LEFT OVERRIDE (RLO)
U+202C:   POP DIRECTIONAL FORMATTING (PDF)

برای رسیدن به تصویر صحیح نمایش داده شده در بالا، متد FixWeakCharacters زیر را تهیه کرده‌ام که حداقل با iTextSharp جواب می‌ده:

using System;
using System.Diagnostics;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;

namespace RleTests
{
class Program
{
const char RightToLeftEmbedding = (char)0x202B;
const char PopDirectionalFormatting = (char)0x202C;

static string FixWeakCharacters(string data)
{
if (string.IsNullOrWhiteSpace(data)) return string.Empty;
var weakCharacters = new[] { @"\", "/", "+", "-", "=", ";", "$" };
foreach (var weakCharacter in weakCharacters)
{
data = data.Replace(weakCharacter, RightToLeftEmbedding + weakCharacter + PopDirectionalFormatting);
}
return data;
}

static void Main(string[] args)
{
using (var pdfDoc = new Document(PageSize.A4))
{
PdfWriter.GetInstance(pdfDoc, new FileStream("Test.pdf", FileMode.Create));
pdfDoc.Open();

FontFactory.Register("c:\\windows\\fonts\\Arial.ttf");
Font tahoma = FontFactory.GetFont("Arial", BaseFont.IDENTITY_H);

var table1 = new PdfPTable(1);
table1.WidthPercentage = 100;

var pdfCell = new PdfPCell
{
RunDirection = PdfWriter.RUN_DIRECTION_RTL,
Border = 0,
Phrase = new Phrase(FixWeakCharacters(
"تاریخ: " + "1390/11/18" + Environment.NewLine +
"شماره پروژه: " + "1/2/3/4/56" + Environment.NewLine +
"اسلش: " + " 12/A/13 " + Environment.NewLine +
"بک اسلش: " + " 12\\13\\14 " + Environment.NewLine +
"مساوی و جمع: " + " 2+3=5 " + Environment.NewLine +
"سمی کولون: " + " 2=1+1; " + Environment.NewLine +
"دلار: " + "12$" + Environment.NewLine +
"کاما: " + "12,34,67" + Environment.NewLine +
"نقطه: " + "12.34" + Environment.NewLine +
"پرانتز: " + "متن (ساده)"
),
tahoma)
};

table1.AddCell(pdfCell);
pdfDoc.Add(table1);

}

Process.Start("Test.pdf");
}
}
}

از این نوع مشکلات حین کار با HTML هم هست؛ وارونه نمایش داده شدن تاریخ فارسی در بین یک متن راست به چپ. البته در آنجا راه حل زیر هم توصیه شده (بدون نیاز به دستکاری نویسه‌ها):

<span dir="ltr" style="display:inline">1390/11/19</span>