بله. با انواع فایلهای کانفیگ برنامههای دات نت سازگار است.
نظرات مطالب
PM> Install-Package OpenCvSharp-AnyCPU
PM> Install-Package OpenCvSharp-WithoutDll
using OpenCvSharp; namespace OpenCVSharpSample01 { class Program { static void Main(string[] args) { var img = Cv.CreateImage(new CvSize(128, 128), BitDepth.U8, 1); for (var y = 0; y < img.Height; y++) { for (var x = 0; x < img.Width; x++) { Cv.Set2D(img, y, x, x + y); } } Cv.NamedWindow("window"); Cv.ShowImage("window", img); Cv.WaitKey(); Cv.DestroyWindow("window"); Cv.ReleaseImage(img); } } }
using System.Collections.Generic; using System.Runtime.CompilerServices; namespace ConditionalWeakTableSamples { public static class AttachedProperties { public static ConditionalWeakTable<object, Dictionary<string, object>> ObjectCache = new ConditionalWeakTable<object, Dictionary<string, object>>(); public static void SetValue<T>(this T obj, string name, object value) where T : class { var properties = ObjectCache.GetOrCreateValue(obj); if (properties.ContainsKey(name)) properties[name] = value; else properties.Add(name, value); } public static T GetValue<T>(this object obj, string name) { Dictionary<string, object> properties; if (ObjectCache.TryGetValue(obj, out properties) && properties.ContainsKey(name)) return (T)properties[name]; return default(T); } public static object GetValue(this object obj, string name) { return obj.GetValue<object>(name); } } }
public static class ISecurityPrincipalExtension { public static bool Disclaimer(this IPrincipal principal) { return principal.GetValue<bool>("Disclaimer"); } public static void SetDisclaimer(this IPrincipal principal, bool value) { principal.SetValue("Disclaimer", value); } }
using System.Runtime.CompilerServices; namespace ConditionalWeakTableSamples { public static class PropertyExtensions { private class ExtraPropertyHolder { public bool IsDirty { get; set; } } private static readonly ConditionalWeakTable<object, ExtraPropertyHolder> _isDirtyTable = new ConditionalWeakTable<object, ExtraPropertyHolder>(); public static bool IsDirty(this object @this) { return _isDirtyTable.GetOrCreateValue(@this).IsDirty; } public static void SetIsDirty(this object @this, bool isDirty) { _isDirtyTable.GetOrCreateValue(@this).IsDirty = isDirty; } } }
public void Closed(DbConnection connection, DbConnectionInterceptionContext interceptionContext) { }
using System; using System.Runtime.CompilerServices; namespace ConditionalWeakTableSamples { public static class UniqueIdExtensions { static readonly ConditionalWeakTable<object, string> _idTable = new ConditionalWeakTable<object, string>(); public static string GetUniqueId(this object obj) { return _idTable.GetValue(obj, o => Guid.NewGuid().ToString()); } public static string GetUniqueId(this object obj, string key) { return _idTable.GetValue(obj, o => key); } } }
/.well-known/acme-challenge/id
[HttpGet("/.well-known/acme-challenge/{id}")] public IActionResult LetsEncrypt(string id, [FromServices] IHostingEnvironment env) { id = Path.GetFileName(id); // security cleaning var file = Path.Combine(env.ContentRootPath, ".well-known", "acme-challenge", id); return PhysicalFile(file, "text/plain"); }
[Route(".well-known/acme-challenge/{id}")] public ActionResult LetsEncrypt(string id) { id = Path.GetFileName(id); // security cleaning var file = Path.Combine(Server.MapPath("~/.well-known/acme-challenge"), id); return File(file, "text/plain", id); }
Type:http Port:80 IP address:All Unassigned
N: Create new certificate M: Create new certificate with advanced options L: List scheduled renewals R: Renew scheduled S: Renew specific A: Renew *all* V: Revoke certificate C: Cancel scheduled renewal X: Cancel *all* scheduled renewals Q: Quit
[INFO] Running in Simple mode 1: Single binding of an IIS site 2: SAN certificate for all bindings of an IIS site 3: SAN certificate for all bindings of multiple IIS sites 4: Manually input host names C: Cancel
1: Default Web Site C: Cancel Choose site: 1
* www.dotnettips.info * dotnettips.info Press enter to include all listed hosts, or type a comma-separated lists of exclusions:
[INFO] Adding renewal for Default Web Site [INFO] Next renewal scheduled at 2018/7/21 4:19:20 AM
N: Create new certificate M: Create new certificate with advanced options L: List scheduled renewals R: Renew scheduled S: Renew specific A: Renew *all* V: Revoke certificate C: Cancel scheduled renewal X: Cancel *all* scheduled renewals Q: Quit
[INFO] Running in Simple mode 1: Single binding of an IIS site 2: SAN certificate for all bindings of an IIS site 3: SAN certificate for all bindings of multiple IIS sites 4: Manually input host names C: Cancel
Enter comma-separated list of host names, starting with the primary one: dotnettips.info, www.dotnettips.info
1: Default Web Site 2: mysiteName Choose site to create new bindings: 1
public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .Build(); }
public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }; } }
var builder = WebApplication.CreateBuilder(args); builder.Services.AddRazorPages(); var app = builder.Build(); if (app.Environment.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseStaticFiles(); app.MapGet("/", () => "Hello World!"); app.MapRazorPages(); app.Run();
var hostBuilder = Host.CreateDefaultBuilder(args) .ConfigureServices(services => { services.AddRazorPages(); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.Configure((ctx, app) => { if (ctx.HostingEnvironment.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseStaticFiles(); app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapGet("/", () => "Hello World!"); endpoints.MapRazorPages(); }); }); }); hostBuilder.Build().Run();
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRazorPages(); builder.Services.AddSingleton<MyThingy>();
builder.Logging.AddFile();
var app = builder.Build();
app.UseStaticFiles(); app.MapRazorPages();