Rider 2019.1.3 منتشر شد
Redis 6.0.0 GA منتشر شد
The next major release of the popular data structure server is here. Redis is at the heart of so many data systems nowadays that any major release is big news but 6.0 packs in a lot of new bits and pieces that make it more robust and capable of modern workloads, including:
- Access Control Lists (ACL) for limiting what certain clients can do.
- Diskless replication on replicas.
- Threaded I/O (but Redis itself remains primarily single threaded).
- SSL/TLS support.
- A new client-server protocol, RESP3.
آشنایی با الگوی Adapter
در زبان انگلیسی derived به معنای مشتق شده هست و به نظر در اینجا منظور اصلی همین بوده؛ چون derived هم برای اینترفیس و هم در ارث بری، هر دو بکار برده میشه. به کلاسی که یک اینترفیس رو پیاده سازی میکنه، derived class هم میگن. مثلا: Because interfaces must be implemented by derived classes and structs, they define a contract
LocalDb دیتابیس توصیه شده برای ویژوال استودیو است و برای انواع پروژهها مانند اپلیکیشنهای وب میتواند استفاده شود. هنگام استفاده از این دیتابیس در IIS Express یا Cassini همه چیز طبق انتظار کار میکند. اما به محض آنکه بخواهید از آن در Full IIS استفاده کنید با خطاهایی مواجه میشوید. مقصود از Full IIS همان نسخه ای است که بهمراه ویندوز عرضه میشود و در قالب یک Windows Service اجرا میگردد.
هنگام استفاده از Full IIS دو خاصیت از LocalDb باعث بروز مشکل میشوند:
- LocalDb نیاز دارد پروفایل کاربر بارگذاری شده باشد
- بصورت پیش فرض، وهله LocalDb متعلق به یک کاربر بوده و خصوصی است
در ادامه این مقاله روی بارگذاری پروفایل کاربر تمرکز میکنیم، و در قسمت بعدی به مالکیت وهله LocalDb میپردازیم.
بارگذاری پروفایل کاربر
بگذارید دوباره به خطای موجود نگاهی بیاندازیم:
System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 0 - [x89C50120])
این پیغام خطا زیاد مفید نیست، اما LocalDb اطلاعات بیشتری در Event Log ویندوز ذخیره میکند. اگر Windows Logs را باز کنید و به قسمت Application بروید پیغام زیر را مشاهده خواهید کرد.Reported at line: 400
بعلاوه این پیام خطا:
Cannot get a local application data path. Most probably a user profile is not loaded. If LocalDB is executed under IIS, make sure that profile loading is enabled for the current user.
به احتمال زیاد تعداد بیشتری از این دو خطا در تاریخچه وقایع وجود خواهد داشت، چرا که منطق کانکشن ADO.NET چند بار سعی میکند در بازههای مختلف به دیتابیس وصل شود.
پیغام خطای دوم واضح است، نیاز است پروفایل کاربر را بارگذاری کنیم. انجام اینکار زیاد مشکل نیست، هر Application Pool در IIS تنظیماتی برای بارگذاری پروفایل کاربر دارد که از قسمت Advanced Settings قابل دسترسی است. متاسفانه پس از انتشار سرویس پک 1 برای Windows 7 مسائل کمی پیچیدهتر شد. در حال حاظر فعال کردن loadUserProfile برای بارگذاری کامل پروفایل کاربر به تنهایی کافی نیست، و باید setProfileEnvironment را هم فعال کنیم. برای اطلاعات بیشتر در این باره به مستندات KB 2547655 مراجعه کنید. بدین منظور باید فایل applicationHost.config را ویرایش کنید. فایل مذکور در مسیر C:\Windows\System32\inetsrv\config قرار دارد. همانطور که در مستندات KB 2547655 توضیح داده شده، باید پرچم هر دو تنظیمات را برای ASP.NET 4.0 فعال کنیم:
<add name="ASP.NET v4.0" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated"> <processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" /> </add>
جای هیچ نگرانی نیست، چرا که این پیغام خطا انتظار میرود. همانطور که در ابتدا گفته شد، دو خاصیت LocalDb باعث بروز این خطاها میشوند و ما هنوز به خاصیت دوم نپرداخته ایم. بصورت پیش فرض وهلههای LocalDb خصوصی (private) هستند و در Windows account جاری اجرا میشوند. بنابراین ApplicationPoolIdentity در IIS به وهلههای دیتابیس دسترسی نخواهد داشت. در قسمت دوم این مقاله، راههای مختلفی را برای رفع این مشکل بررسی میکنیم.
Blazor 5x - قسمت 31 - احراز هویت و اعتبارسنجی کاربران Blazor WASM - بخش 1 - انجام تنظیمات اولیه
یکی دیگر از قابلیتهای جدیدی که پس از نصب سرویس پک یک VS 2010 در اختیار علاقمندان خواهد بود، پشتیبانی از HTML5 و CSS3 است.
ابتدا باید آنرا فعال کرد. برای این منظور به مسیر ذیل مراجعه کنید:
Tools -> Option -> Text Editor -> HTML -> Validation
و یا اینکار را از طریق نوار ابزار HTML Source Editing نیز میتوان انجام داد:
به این صورت Intellisense ویرایشگر VS.NET امکان شناسایی و کار سادهتر با عناصر HTML 5 را نیز فراهم کرده؛ همچنین استفاده از مواردی مانند موارد ذیل هم مجاز و بدون مشکل خواهد بود:
<input type="email" runat="server" />
<asp:TextBox type="datetime" runat="server" ID="txtDateTime" />
در مورد CSS3 ...
اگر به منوها مراجعه کنید حتی پس از نصب SP1 نیز به ظاهر خبری از آن نیست! به نظر مدخل رجیستری آن فراموش شده و باید به صورت دستی اینکار صورت گیرد (+):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Packages\{A764E895-518D-11d2-9A89-00C04F79EFC3}\Schemas
From there add a Key: Schema 5
Add two string values:
Keyname: File
Value: css30.xml
Keyname: Friendly Name
Value: CSS 3.0
و یا افزونهی CSS 3 Intellisense Schema نیز چنین امکانی را فراهم میسازد (+).
علاوه بر این، سرویس پک یک برنامه Expression Web نیز قابلیتهای ذکر شده را به همراه دارد (+).
معرفی Open Web Docs
انتشار Visual Studio 2015 Preview
Visual Studio 2015 Preview contains many new and exciting features to support cross-platform mobile development, web & cloud development, IDE productivity enhancements, and more.