اس کیوال سرور
امنیت
توسعه وب
دات نت فریم ورک
دبلیو سی اف
دبلیو پی اف و سیلور لایت
سایتهای ایرانی
شیرپوینت
لینوکس
متفرقه
محیطهای مجتمع توسعه
مرورگرها
مسایل انسانی، اجتماعی و مدیریتی برنامه نویسی
پی اچ پی
شرکت JetBrains اخیرا IPهای ایرانی را بسته و دیگر این بستهها از قسمت download سایت آن، قابل دریافت نیستند؛ اما لینک مستقیم دریافت آنها بدون مشکل کار میکند:
https://download-cdn.jetbrains.com/rider/JetBrains.Rider-2024.2.exe
_getHostByNameHook = LocalHook.Create( InTargetProc: LocalHook.GetProcAddress("ws2_32.dll", "gethostbyname"), InNewProc: new GetHostByNameDelegate(getHostByNameHooked), InCallback: this);
[UnmanagedFunctionPointer(CallingConvention.StdCall, CharSet = CharSet.Ansi, SetLastError = false)] private delegate IntPtr GetHostByNameDelegate(string name);
private static IntPtr getHostByNameHooked(string name) { // redirect ... //if (name.StartsWith("www.google.com")) //{ // return Native.GetHostByName("127.0.0.1"); //} return Native.gethostbyname(name); }
import { HttpModule } from '@angular/http'; @NgModule({ imports: [ HttpModule ]
using System.IO; using System.Net.Mime; using System.Web.Mvc; namespace MvcWatermark.Controllers { public class HomeController : Controller { const int ADay = 86400; public ActionResult Index() { return View(); } [OutputCache(VaryByParam = "fileName", Duration = ADay)] public ActionResult Image(string fileName) { fileName = Path.GetFileName(fileName); // تمیز سازی امنیتی است var rootPath = Server.MapPath("~/App_Data/Images"); var path = Path.Combine(rootPath, fileName); if (!System.IO.File.Exists(path)) { var notFoundImage = "notFound.png"; path = Path.Combine(rootPath, notFoundImage); return File(path, MediaTypeNames.Image.Gif, notFoundImage); } return File(path, MediaTypeNames.Image.Gif, fileName); } } }
<img src="@Url.Action(actionName: "Image", controllerName: "Home", routeValues: new { fileName = "EF_Stra_08.gif" })" />
private bool isEmbeddedIntoAnotherDomain { get { return this.HttpContext.Request.UrlReferrer != null && !this.HttpContext.Request.Url.Host.Equals(this.HttpContext.Request.UrlReferrer.Host, StringComparison.InvariantCultureIgnoreCase); } }
private byte[] addWaterMark(string filePath, string text) { var image = new WebImage(filePath); image.AddTextWatermark(text); return image.GetBytes(); }
A Graphics object cannot be created from an image that has an indexed pixel format.
PixelFormatUndefined PixelFormatDontCare PixelFormat1bppIndexed PixelFormat4bppIndexed PixelFormat8bppIndexed PixelFormat16bppGrayScale PixelFormat16bppARGB1555
private byte[] addWaterMark(string filePath, string text) { using (var img = System.Drawing.Image.FromFile(filePath)) { using (var memStream = new MemoryStream()) { using (var bitmap = new Bitmap(img))//avoid gdi+ errors { bitmap.Save(memStream, ImageFormat.Png); var webImage = new WebImage(memStream); webImage.AddTextWatermark(text, verticalAlign: "Top", horizontalAlign: "Left", fontColor: "Brown"); return webImage.GetBytes(); } } } }
if (isEmbeddedIntoAnotherDomain) { var text = Url.Action(actionName: "Index", controllerName: "Home", routeValues: null, protocol: "http"); var content = addWaterMark(path, text); return File(content, MediaTypeNames.Image.Gif, fileName); } return File(path, MediaTypeNames.Image.Gif, fileName);
public async Task DoSomethingWithCustomer(Customer customer) { using var dbContext = new AppDbContext(); // ... }
services.AddDbContextPool<AppDbContext>();
public async Task DoSomethingWithCustomer(Customer customer) { using var scope = _serviceProvider.CreateScope(); var dbContext = scope.ServiceProvider.GetRequiredService<AppDbContext>(); var httpClient = scope.ServiceProvider.GetRequiredService<IHttpClientFactory>().CreateClient(); // ... }
public interface IOrderHistoryService { Task BuildCustomerHistory(); } public class OrderHistoryService : IOrderHistoryService { private AppDbContext _dbContext; public OrderHistoryService(AppDbContext dbContext) { _dbContext = dbContext; } public async Task BuildCustomerHistory() { // ... } }