<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>.net &#8211; Kemal Burak Yılmaz</title>
	<atom:link href="http://www.kemalburakyilmaz.com/tag/net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kemalburakyilmaz.com</link>
	<description>Unutma Unutturma</description>
	<lastBuildDate>
	Mon, 04 Jan 2021 11:10:36 +0000	</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.1.8</generator>
	<item>
		<title>.Net Core DI ve Autofac DI Container Lifetime Karşılaştırılması</title>
		<link>http://www.kemalburakyilmaz.com/net-core-di-ve-autofac-di-container-lifetime-karsilastirilmasi/</link>
				<pubDate>Tue, 09 Apr 2019 12:05:24 +0000</pubDate>
		<dc:creator><![CDATA[Burak Yılmaz]]></dc:creator>
				<category><![CDATA[.Net Core]]></category>
		<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[.net core]]></category>
		<category><![CDATA[autofac]]></category>
		<category><![CDATA[dependency injection]]></category>
		<category><![CDATA[di]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://www.kemalburakyilmaz.com/?p=622</guid>
				<description><![CDATA[.Net Core kullanmaya başlamadan önce Dependency Injection(DI) için Autofac kütüphanelerini kullanıyordum. Açıkcası çok da seviyordum. Daha sonra projemizi Core&#8216;a taşıyalım deyince, kullandığımız kütüphaneler için alternatif neler varmış diye araştırmaya başladık. Önce benchmarkları inceledik. Aşağıdaki adresten sizler de inceleyebilirsiniz: https://github.com/danielpalme/IocPerformance Benchmarka verilerine göre LightInject kullanmaya karar verdik. Gerekli implementasyonları yaparken zorlandık. Autofac gibi kolay ve anlaşılır [&#8230;]]]></description>
								<content:encoded><![CDATA[<p><strong>.Net Core</strong> kullanmaya başlamadan önce <em>Dependency Injection(DI)</em> için <em>Autofac</em> kütüphanelerini kullanıyordum. Açıkcası çok da seviyordum. Daha sonra projemizi <strong>Core</strong>&#8216;a taşıyalım deyince, kullandığımız kütüphaneler için alternatif neler varmış diye araştırmaya başladık. Önce benchmarkları inceledik. Aşağıdaki adresten sizler de inceleyebilirsiniz:</p>
<p><a href="https://github.com/danielpalme/IocPerformance">https://github.com/danielpalme/IocPerformance</a></p>
<p>Benchmarka verilerine göre <a href="https://www.lightinject.net/">LightInject</a> kullanmaya karar verdik. Gerekli implementasyonları yaparken zorlandık. <em>Autofac</em> gibi kolay ve anlaşılır değildi, ayrıca community&#8217;si de çok güçlü olmadığından sorularımıza cevap bulamadık. Durum böyle bir hal alınca dedik ki neden <em>Microsoft DI</em> kullanmıyoruz. Hem hızlı hem de community desteği var. <em>Autofac</em>&#8216;den <em>Microsoft DI</em>&#8216;a geçiş yaparken Lifetime tanımlamalarında acaba hangisi hangisidir? Şu neye karşılık gelir dediğimiz yerler oldu. O kısımları da aşağıda sizlerle paylaşıyorum.</p>

<table id="tablepress-1" class="tablepress tablepress-id-1">
<thead>
<tr class="row-1 odd">
	<th class="column-1">Autofac</th><th class="column-2">.Net Core</th><th class="column-3">Açıklama</th>
</tr>
</thead>
<tbody class="row-hover">
<tr class="row-2 even">
	<td class="column-1">InstancePerDependency()</td><td class="column-2">ServiceLifetime.Transient<br />
<br />
services.AddTransient<,></td><td class="column-3">Her nesne isteğinde, yeni bir instance döner</td>
</tr>
<tr class="row-3 odd">
	<td class="column-1">InstancePerLifetimeScope()<br />
<br />
InstancePerRequest()</td><td class="column-2">ServiceLifetime.Scoped<br />
<br />
services.AddScope<,></td><td class="column-3">Her scope için tek bir instance yaratır. Mesela bir web projesinde http request bir scope'tur. Sonlanana kadar hep aynı instance'ı döner.</td>
</tr>
<tr class="row-4 even">
	<td class="column-1">SingleInstance()</td><td class="column-2">ServiceLifetime.Singleton<br />
<br />
services.AddSingleton<,></td><td class="column-3">Uygulama ayağa kalktığında tek bir instance yaratılır ve hep bu instance geri döner.</td>
</tr>
</tbody>
</table>

]]></content:encoded>
										</item>
	</channel>
</rss>
