{"id":33071,"date":"2010-06-17T18:19:20","date_gmt":"2010-06-17T16:19:20","guid":{"rendered":"\/post\/IIS-7-Yoneticisine-Kendi-Modulunuzu-Eklemek.aspx"},"modified":"2021-06-14T17:01:23","modified_gmt":"2021-06-14T14:01:23","slug":"iis-7-yoneticisine-kendi-modulunuzu-eklemek","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/","title":{"rendered":"IIS 7 Y\u00f6neticisine Kendi Mod\u00fcl\u00fcn\u00fcz\u00fc Eklemek"},"content":{"rendered":"<p>IIS 7 ile birlikte Microsoft IIS Y\u00f6netici konsolunda radikal de\u011fi\u015fiklikler yapt\u0131. Eskisi gibi sabit, sadece Microsoft destekli bir y\u00f6netim konsolu kabu\u011fundan s\u0131yr\u0131larak geni\u015fletilebilir ve arkas\u0131nd topluluk deste\u011fi olan bir y\u00f6netim konsolu haline geldi. Bu sayede 3. parti geli\u015ftiriciler piyasa ihtiya\u00e7lar\u0131 do\u011frultusunda IIS y\u00f6netim konsolu eklentileri \u00e7\u0131kartabilmekte, \u00f6zel kurumlar kendi eklentilerini kullanmakta.<\/p>\n\n\n\n<p>Bu makalemde sizlere IIS 7.0\u2019dan itibaren bizlere sunulan bu yeni IIS y\u00f6netim konsolu eklenti yap\u0131s\u0131n\u0131 anlatarak C# ile nas\u0131l kendi eklentilerinizi geli\u015ftirebilece\u011finizi payla\u015faca\u011f\u0131m.<\/p>\n\n\n\n<p>\u0130sterseniz \u00f6ncelikle IIS y\u00f6netici mod\u00fcl bile\u015fenlerini tan\u0131yal\u0131m. IIS y\u00f6neticisi mod\u00fclleri en basit \u015fekliyle a\u015fa\u011f\u0131daki 3 temel par\u00e7adan olu\u015fmaktad\u0131r;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Mod\u00fcl<\/strong> : Kendi yazd\u0131\u011f\u0131m\u0131z IIS y\u00f6netici mod\u00fcl\u00fcn giri\u015f noktas\u0131 olan mod\u00fcl s\u0131n\u0131f\u0131 <em>Microsoft.Web.Management.Client.Module<\/em> s\u0131n\u0131f\u0131ndan t\u00fcremelidir. Bu s\u0131n\u0131f, mod\u00fcl\u00fcm\u00fcz i\u00e7erisindeki gerekli ilklendirmeleri, mod\u00fcl aray\u00fcz\u00fcn\u00fcn kayd\u0131n\u0131 v.b. i\u015flemlerimizi yapabilece\u011fimiz bir giri\u015f noktas\u0131 olacakt\u0131r. Bu i\u015flemlerinizi yapmak i\u00e7in en uygun yer <em>Module<\/em> s\u0131n\u0131f\u0131ndan gelen <em>Initialize<\/em> fonksiyonudur.<\/li><li><strong>Mod\u00fcl Sa\u011flay\u0131c\u0131s\u0131<\/strong> : Mod\u00fcl\u00fcm\u00fcz hakk\u0131nda baz\u0131 temel bilgileri verebilmemizi sa\u011flayan mod\u00fcl sa\u011flay\u0131c\u0131s\u0131 s\u0131n\u0131f\u0131 <em>Microsoft.Web.Management.Server.ModuleProvider<\/em> s\u0131n\u0131f\u0131ndan t\u00fcremelidir. Bu s\u0131n\u0131f i\u00e7erisinde mod\u00fcl\u00fcm\u00fcz\u00fc, hangi seviyede IIS y\u00f6neticisinde i\u015flem yapaca\u011f\u0131n\u0131 (uygulama, site, sunucu gibi), mod\u00fcl sa\u011flay\u0131c\u0131m\u0131zla ili\u015fkilendirilmi\u015f mod\u00fcl hizmetimizi belirtebiliriz.<\/li><li><strong>Mod\u00fcl Sayfas\u0131<\/strong> : Mod\u00fcl\u00fcm\u00fcz\u00fcn aray\u00fcz\u00fcn\u00fc, dolay\u0131s\u0131yla da pek \u00e7ok fonksiyonalitesi sunan mod\u00fcl sayfas\u0131 <em>Microsoft.Web.Management.Client.Win32.ModulePage<\/em> s\u0131n\u0131f\u0131ndan t\u00fcremelidir. Mod\u00fcl\u00fcm\u00fcz\u00fcn kullan\u0131c\u0131yla etkile\u015fimini sa\u011flayan mod\u00fcl sayfas\u0131 asl\u0131nda bir Windows Forms s\u0131n\u0131f\u0131d\u0131r dolay\u0131s\u0131yla ayn\u0131 bir masa\u00fcst\u00fc uygulamas\u0131nda oldu\u011fu gibi aray\u00fcz bile\u015fenleri kullan\u0131labilir.<\/li><\/ul>\n\n\n\n<p>Pek \u00e7ok IIS y\u00f6neticisi mod\u00fcl\u00fc yukar\u0131daki 3 temel bile\u015feni kullanmakla birlikte IIS y\u00f6neticisini geni\u015fletebilmek i\u00e7in bize sunulan ba\u015fka bile\u015fenlerde bulunmaktad\u0131r. Yukar\u0131daki bile\u015fenlerden yola \u00e7\u0131karak basit bir mod\u00fcl yazaca\u011f\u0131m\u0131z bu makalem d\u0131\u015f\u0131nda takip eden makalelerde di\u011fer bile\u015fenlere de de\u011finmeye \u00e7al\u0131\u015faca\u011f\u0131m.<\/p>\n\n\n\n<p>IIS y\u00f6neticisi, tan\u0131ml\u0131 mod\u00fcller hakk\u0131nda ilk bilgiyi <em>Administration.config<\/em> dosyas\u0131nda bulmaktad\u0131r. Bu dosya i\u00e7erisinde yer alan <em>moduleProviders<\/em> b\u00f6l\u00fcm\u00fc alt\u0131nda mod\u00fcl isimleri ve bu mod\u00fcllerin giri\u015f noktas\u0131 olan s\u0131n\u0131flar\u0131 listelenmetedir. IIS y\u00f6netici konsolu listelenen mod\u00fclleri reflection kullanarak y\u00fcklemektedir. Bir mod\u00fcl\u00fcn y\u00fcklenebilmesi i\u00e7in mutlaka GAC\u2019ta bulunmal\u0131d\u0131r.<\/p>\n\n\n\n<p>Mod\u00fcl\u00fcm\u00fcz\u00fc olu\u015fturmak i\u00e7in i\u015fe Visual Studio\u2019da yeni bir s\u0131n\u0131f k\u00fct\u00fcphanesi (Class Library) olu\u015fturarak ba\u015flayaca\u011f\u0131z;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/yeniSinifKutuphanesi.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/yeniSinifKutuphanesi_thumb.png\" alt=\"Yeni S\u0131n\u0131f K\u00fct\u00fcphanesi\"\/><\/a><\/figure>\n\n\n\n<p>Projemizde IIS 7 yonetici mod\u00fcl\u00fc olu\u015fturabilmek i\u00e7in yukar\u0131da bahsetmi\u015f oldu\u011fum <em>Microsoft.Web.Management.Client.Module<\/em>, <em>Microsoft.Web.Management.Server.ModuleProvider, Microsoft.Web.Management.Client.Win32.ModulePage<\/em> gibi s\u0131n\u0131flar\u0131 projemizde kullanarak bunlardan t\u00fcretilen s\u0131n\u0131flar olu\u015fturabilmek i\u00e7in projemizde <strong>Microsoft.Web.Management.dll<\/strong> assembly referans\u0131 bulunmal\u0131. Referans\u0131n\u0131 ekleyece\u011finiz bu dll <em>%WINDIR%\\system32\\inetsrv<\/em> klas\u00f6r\u00fc alt\u0131nda (\u00f6rne\u011fin; <em>c:\\Windows\\system32\\inetsrv<\/em>) bulunabilir. Bu dll yeni bir IIS 7 y\u00f6neticisi mod\u00fcl\u00fc olu\u015ftururken ihtiyac\u0131m\u0131z olacak t\u00fcm s\u0131n\u0131flar\u0131 bar\u0131nd\u0131rmaktad\u0131r. Ek olarak; bir mod\u00fcl sayfas\u0131 da tasarlayaca\u011f\u0131m\u0131z i\u00e7in kullanaca\u011f\u0131m\u0131z aray\u00fcz s\u0131n\u0131flar\u0131n\u0131n bulundu\u011fu ve projemizin t\u00fcr\u00fcn\u00fcn s\u0131n\u0131f k\u00fct\u00fcphanesi olmas\u0131 nedeniyle varsay\u0131lan olan gelmeyen <em>System.Windows.Forms.dll<\/em>\u2019de proje referanslar\u0131na eklenmeli.<\/p>\n\n\n\n<p>Projemizi olu\u015fturup ihtiyac\u0131m\u0131z olan referanslar\u0131 ekledikten sonra kodlamaya ge\u00e7meden \u00f6nce yerine getirmemiz gereken bir ka\u00e7 ad\u0131m\u0131m\u0131z daha var. Yukar\u0131da bahsetti\u011fim gibi IIS y\u00f6neticisi mod\u00fclleri GAC\u2019tan bularak y\u00fcklemekte. Projemizin derlendikten sonra GAC\u2019a atabilmek i\u00e7in \u00f6ncelikle imzalanm\u0131\u015f olmas\u0131 gerekmekte. Projeyi imzalamak i\u00e7in proje \u00f6zellikleri sayfas\u0131nda yer alan <em>Signing<\/em> segmesinde imzada kullan\u0131lacak olan anahtar\u0131 belirtmeliyiz. Projemizde \u00f6nceden olu\u015fturdu\u011fumuz bir anahtar var ise bunu kullanabilece\u011fimiz gibi yeni bir tane de olu\u015fturup kullanabiliriz.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/AnahtarOlustur.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/AnahtarOlustur_thumb.png\" alt=\"AnahtarOlustur\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/imzalama.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/imzalama_thumb.png\" alt=\"Proje dll'ini mzalama\"\/><\/a><\/figure>\n\n\n\n<p>Assembly\u2019mizi imzalamak i\u00e7in gerekli anahtar dosyas\u0131n\u0131 verdikten ve projemizi derledikten sonra Visual Studio komut sat\u0131r\u0131ndan a\u015fa\u011f\u0131daki komut yard\u0131m\u0131yla assembly\u2019mizi GAC\u2019a atabiliriz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"msdos\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">gacutil.exe \/if &lt;DLL\u2019imizin Ad\u0131><\/pre>\n\n\n\n<p>Her derlememiz sonras\u0131 test edebilmek i\u00e7in bu komutu \u00e7al\u0131\u015ft\u0131rmam\u0131z gerekli, aksi takdirde de\u011fi\u015fikliklerimizi IIS y\u00f6netici konsolunda g\u00f6remeyiz. Bu i\u015fi her derleme sonras\u0131nda elle yapmak yerine otomatikle\u015ftirmek i\u015fimizi kolayla\u015ft\u0131racakt\u0131r. Otomatikle\u015ftirmek i\u00e7in projemizin \u00f6zellikler penceresinde <em>Build Events<\/em> segmesine gelerek \u201c<em>Post-build event command line<\/em>\u201d b\u00f6l\u00fcm\u00fcne a\u015fa\u011f\u0131daki komutlar\u0131 yazmam\u0131z yetecektir.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"msdos\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">call \"%VS100COMNTOOLS%\\vsvars32.bat\" > null\ngacutil.exe \/if \"$(TargetPath)\"<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/PostBuild.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/PostBuild_thumb.png\" alt=\"Post-build evet command line\"\/><\/a><\/figure>\n\n\n\n<p>\u0130lk sat\u0131r Visual Studio ara\u00e7lar\u0131n\u0131n bulundu\u011fu dizin bilgilerini, ortam de\u011fi\u015fkenlerini haz\u0131rlayan batch dosyas\u0131n\u0131 \u00e7al\u0131\u015ft\u0131racakt\u0131r, takip eden ikinci sat\u0131r ise derlenen assembly\u2019nizin GAC\u2019a at\u0131lmas\u0131 i\u00e7in gerekli kod \u00e7al\u0131\u015facakt\u0131r. Bizim yerimizi her ba\u015far\u0131l\u0131 derleme sonras\u0131nda \u00e7al\u0131\u015facak olan bu komutu Visual Studio 2010 yerine alt s\u00fcr\u00fcmlerinde kullacaksan\u0131z <em>%VS100COMNTOOLS%<\/em> b\u00f6l\u00fcm\u00fc yerine a\u015fa\u011f\u0131daki tablodan kulland\u0131\u011f\u0131m\u0131z Visual Studio s\u00fcr\u00fcm\u00fcne uygun olan de\u011feri yazman\u0131z gerekli.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><th>Visual Studio s\u00fcr\u00fcm\u00fc<\/th><th>Kullan\u0131lacak de\u011fer<\/th><\/tr><tr><td>Visual Studio 2010<\/td><td>%VS100COMNTOOLS%<\/td><\/tr><tr><td>Visual Studio 2008<\/td><td>%VS90COMNTOOLS%<\/td><\/tr><tr><td>Visual Studio 2005<\/td><td>%VS80COMNTOOLS%<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Son olarak mod\u00fcl\u00fcm\u00fcz IIS y\u00f6neticisi i\u00e7erisinde \u00e7al\u0131\u015f\u0131rken Visual Studio ile debug edebilmemiz i\u00e7in proje \u00f6zelliklerinde debug segmesinde a\u015fa\u011f\u0131 g\u00f6r\u00fclen de\u011ferleri vermeliyiz;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/DebugProperties.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/DebugProperties_thumb.png\" alt=\"Debug Ayarlar\u0131\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><th>Alan<\/th><th>De\u011fer<\/th><\/tr><tr><td>Start External Program<\/td><td>%windir%\\system32\\inetsrv\\InetMgr.exe<\/td><\/tr><tr><td>Working Directory<\/td><td>%windir%\\system32\\inetsrv<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Bu de\u011ferler, Visual Studio\u2019nun mod\u00fcl\u00fcm\u00fcz\u00fc debug ederken \u00f6ncelikle IIS y\u00f6neticisini (InetMgr) ba\u015flatmas\u0131n\u0131 ve ard\u0131ndan da debugger\u2019\u0131n IIS y\u00f6neticisine ba\u011flanarak debug yapabilmemizi sa\u011flayacakt\u0131r.<\/p>\n\n\n\n<p>Mod\u00fcl\u00fcm\u00fcz\u00fcn ilk derlenmesi ve GAC\u2019a at\u0131lmas\u0131 sonras\u0131 IIS y\u00f6neticisine tan\u0131t\u0131lmas\u0131 gereklidir. Bunun i\u00e7in yukar\u0131da da bahsetti\u011fim gibi <em>Administration.config<\/em> dosyas\u0131na girdi eklememiz gerekir. <em>%WINDIR%\\system32\\inetsrv\\config<\/em>&nbsp; klas\u00f6r\u00fc alt\u0131nda bulabilece\u011finiz bu dosyay\u0131 a\u00e7arak moduleProviders elementi alt\u0131na kendi mod\u00fcl\u00fcm\u00fcze ait a\u015fa\u011f\u0131daki girdiyi eklemeliyiz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;add\n   name=\"OrnekModulSaglayicisi\"\n   type=\"Enterprisecoding.IISManagerModule.OrnekModulSaglayicisi, Enterprisecoding.IISManagerModule,\u00a0 Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc2c6213715f3b51\" \/><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/AdministratorConfig_moduleProviders.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/AdministratorConfig_moduleProviders_thumb.png\" alt=\"Administrator.Config moduleProviders\"\/><\/a><\/figure>\n\n\n\n<p><em>type<\/em> \u00f6zniteli\u011fine verilecek de\u011fer OrnekModulSaglayicisi s\u0131n\u0131f\u0131n\u0131n assembly qualified ad\u0131 olmal\u0131d\u0131r. Bu alanda kullanaca\u011f\u0131n\u0131z PublicKeyToken (<em>Genel Anahtar Simgesi<\/em>) de\u011ferini GAC klas\u00f6r\u00fcne (<em>%WINDIR%\\system32<\/em>) giderek bulabilirsiniz. GAC klas\u00f6r\u00fcnde assembly\u2019nizi bularak sa\u011f t\u0131klama men\u00fcs\u00fcnden \u00f6zellikler yard\u0131m\u0131yla a\u00e7\u0131lan dialogta <em>Genel Anahtar Simgesi<\/em> ba\u015fl\u0131\u011f\u0131 ile verilen de\u011feri kullanmal\u0131s\u0131n\u0131z.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/GAC_PublicKey.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/GAC_PublicKey_thumb.png\" alt=\"GAC Genel Anahtar Simgesi\"\/><\/a><\/figure>\n\n\n\n<p>\u0130kincil i\u015f olarak ayn\u0131 dosya i\u00e7erisinde yer alan modules elementi alt\u0131na da a\u015fa\u011f\u0131daki sat\u0131r\u0131 eklemeliyiz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;add name=\"OrnekModulSaglayicisi\" \/><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/AdministratorConfig_modules.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/AdministratorConfig_modules_thumb.png\" alt=\"Administrator.Config modules\"\/><\/a><\/figure>\n\n\n\n<p>Bu ad\u0131mlar sonras\u0131 art\u0131k ortam\u0131m\u0131z projemizi geli\u015ftirmek i\u00e7in haz\u0131r olacakt\u0131r. Geli\u015ftirmeye mod\u00fcl sa\u011flay\u0131c\u0131m\u0131z\u0131 olu\u015fturarak ba\u015flamal\u0131y\u0131z. Yaz\u0131m\u0131n ba\u015f\u0131nda da bahsetti\u011fim gibi, mod\u00fcl sa\u011flay\u0131c\u0131s\u0131 mod\u00fcl\u00fcm\u00fcz\u00fc giri\u015f noktas\u0131 olacak ve mod\u00fcl\u00fcm\u00fcz hakk\u0131nda temel bilgileri sunacakt\u0131r.<\/p>\n\n\n\n<p>Mod\u00fcl sa\u011flay\u0131c\u0131m\u0131z\u0131 olu\u015fturmak i\u00e7in projemize <em>Microsoft.Web.Management.Server.ModuleProvider<\/em>&nbsp; s\u0131n\u0131f\u0131nda t\u00fcreyen yeni bir s\u0131n\u0131f eklemeli GetModuleDefinition, SupportsScope gibi metodlar\u0131n\u0131n i\u00e7erisini gerekli bilgilerle doldurmal\u0131y\u0131z. A\u015fa\u011f\u0131da en basit \u015fekliyle bir mod\u00fcl sa\u011flay\u0131c\u0131s\u0131n\u0131 bulabilirsiniz.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class OrnekModulSaglayicisi : ModuleProvider\n{\n    public override Type ServiceType {\n        get { return null; }\n    }\n\n    public override ModuleDefinition GetModuleDefinition(IManagementContext context) {\n        return new ModuleDefinition(Name, typeof(OrnekModul).AssemblyQualifiedName);\n    }\n\n    public override bool SupportsScope(ManagementScope scope) {\n        return true;\n    }\n}<\/pre>\n\n\n\n<p>OrnekModulSaglayicisi s\u0131n\u0131f\u0131 i\u00e7erisindeki GetModuleDefinition metodu IIS y\u00f6neticisine mod\u00fcl\u00fcm\u00fcz hakk\u0131nda bilgi vermemizi sa\u011flayacakt\u0131r, mod\u00fcl\u00fcm\u00fcz\u00fcn ad\u0131 ve mod\u00fcl\u00fcm\u00fcz\u00fcn tan\u0131mland\u0131\u011f\u0131 s\u0131n\u0131f\u0131n tam ad\u0131n\u0131 burada belirtmeliyiz. Bu \u00f6rnekte, birazdan detaylar\u0131n\u0131 payla\u015faca\u011f\u0131m, OrnekModul s\u0131n\u0131f\u0131 ile bir mod\u00fcl tan\u0131mlad\u0131\u011f\u0131m\u0131z i\u00e7in IIS y\u00f6neticisine bu s\u0131n\u0131f\u0131n tam ad\u0131n\u0131 bildiriyoruz.<\/p>\n\n\n\n<p>SupportsScope ise mod\u00fcl\u00fcm\u00fcz\u00fcn hangi seviyede aktif oldu\u011funu belirtmemizi sa\u011flayacakt\u0131r. Uygulama, site, sunucu gibi farkl\u0131 d\u00fczey ve kombinasyonlarda tan\u0131mlayabilece\u011fimiz mod\u00fcl\u00fcm\u00fcz varsay\u0131lan olarak true d\u00f6nd\u00fc\u011f\u00fcm\u00fczden dolay\u0131 bu \u00f6rnek i\u00e7in t\u00fcm d\u00fczeylerde aktif olacakt\u0131r. Kullan\u0131c\u0131 IIS y\u00f6neticisinde farkl\u0131 d\u00fczeylere ge\u00e7tik\u00e7e bu metod \u00e7a\u011fr\u0131larak mod\u00fcl\u00fcm\u00fcz\u00fcn g\u00f6sterilip g\u00f6sterilmeyece\u011fine karar verilecektir. Mod\u00fcl\u00fcn verilen d\u00fczeyde aktif olmas\u0131 i\u00e7in metod sonucunun true olmas\u0131 gereklidir. \u00d6rne\u011fin mod\u00fcl\u00fcm\u00fcz\u00fc sadece site d\u00fczeyince aktif olmas\u0131 i\u00e7in a\u015fa\u011f\u0131daki gibi bir metod tan\u0131mlanmal\u0131d\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public override bool SupportsScope(ManagementScope scope) {\n    return scope == ManagementScope.Site;\n}[<\/pre>\n\n\n\n<p>Mod\u00fcl\u00fcm\u00fcze giri\u015f noktas\u0131n\u0131n sa\u011flay\u0131c\u0131 ile belirtmemiz ard\u0131ndan art\u0131k mod\u00fcl\u00fcm\u00fcz\u00fcn koduna ge\u00e7ebiliriz.<\/p>\n\n\n\n<p>Mod\u00fcl\u00fc olu\u015fturmak i\u00e7in projemize <em>Microsoft.Web.Management.Client.Module<\/em> s\u0131n\u0131f\u0131nda t\u00fcreyen yeni bir s\u0131n\u0131f eklemeli ve <em>Initialize<\/em> metodu i\u00e7erisinde mod\u00fcl\u00fcm\u00fcz\u00fc ilklendirmeliyiz. Initialize mod\u00fcl\u00fcm\u00fcz\u00fcn tan\u0131ml\u0131 oldu\u011fu d\u00fczey aktif oldu\u011funda IIS y\u00f6neticisi taraf\u0131ndan \u00e7a\u011f\u0131r\u0131larak mod\u00fcl\u00fcm\u00fcz\u00fc gerekli haz\u0131rl\u0131klar\u0131 yapmas\u0131n\u0131 sa\u011flar. A\u015fa\u011f\u0131da en basit \u015fekliyle bir mod\u00fcl s\u0131n\u0131f\u0131 bulabilirsiniz.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">internal class OrnekModul : Module\n{\n    protected override void Initialize(IServiceProvider serviceProvider, ModuleInfo moduleInfo)\n    {\n        base.Initialize(serviceProvider, moduleInfo);\n        MessageBox.Show(\"\u00d6rnek Modul ilklendiriliyor\");\n    }\n}<\/pre>\n\n\n\n<p>OrnekModulSaglayicisi s\u0131n\u0131f\u0131m\u0131z IIS y\u00f6neticisi a\u00e7\u0131ld\u0131\u011f\u0131nda olu\u015fturulup GetModuleDefinition metodu \u00e7a\u011fr\u0131ld\u0131\u011f\u0131nda OrnekModul s\u0131n\u0131f\u0131m\u0131z hakk\u0131nda gerekli tan\u0131mlamalar\u0131 olu\u015fturup IIS y\u00f6neticisine d\u00f6necektir. Ard\u0131nda OrnekModul s\u0131n\u0131f\u0131 olu\u015fturulacak ve ilklendirilmesi \u00fczere Initialize metodu \u00e7a\u011fr\u0131lacakt\u0131r. Bu kodu derlemeniz sonras\u0131 IIS y\u00f6neticisini \u00e7a\u011f\u0131rd\u0131\u011f\u0131n\u0131z kar\u015f\u0131n\u0131za hemen &#8220;<em>\u00d6rnek Modul ilklendiriliyor<\/em>&#8221; yaz\u0131l\u0131 bir dialo\u011fun geldi\u011fini g\u00f6receksiniz.<\/p>\n\n\n\n<p>\u015eimdiye kadar yapt\u0131klar\u0131m\u0131zla IIS y\u00f6neticisine entegrasyonda 3 \u00f6nemli ad\u0131mdan 2sini tamamlam\u0131\u015f oluyoruz. Bir mod\u00fcl sa\u011flay\u0131c\u0131s\u0131 ile mod\u00fcl\u00fcm\u00fcz hakk\u0131ndaki bilgileri veriyor, mod\u00fcl s\u0131n\u0131f\u0131 ile gerekli ilklendirmeyi yap\u0131yor oluyoruz. 3. ad\u0131mda ise as\u0131l i\u015fimizi yaparak kullan\u0131c\u0131 ile etkile\u015fimi sa\u011flayaca\u011f\u0131m\u0131z mod\u00fcl sayfas\u0131n\u0131 olu\u015fturmal\u0131 ve bu sayfan\u0131n IIS y\u00f6neticisine kayd\u0131n\u0131 yapmal\u0131y\u0131z.<\/p>\n\n\n\n<p>Mod\u00fcl sayfam\u0131z\u0131 olu\u015fturmak i\u00e7in projemize <em>Microsoft.Web.Management.Client.Win32.ModulePage<\/em>&nbsp; s\u0131n\u0131f\u0131nda t\u00fcreyen yeni bir s\u0131n\u0131f olu\u015fturmal\u0131y\u0131z. Daha \u00f6nceki iki s\u0131n\u0131ftan farkl\u0131 olarak mod\u00fcl sayfas\u0131 s\u0131n\u0131f\u0131m\u0131zda kullanmak zorunda oldu\u011fumuz bir metod bulunmamakta. Mod\u00fcl sayfam\u0131z ayn\u0131 bir windows forms tasarlar gibi forms bile\u015fenleriyle tasarlayabilirsiniz. A\u015fa\u011f\u0131da OrnekModulSayfasi s\u0131n\u0131f\u0131m\u0131nda \u00fczerinden bir buton bulunan basit bir mod\u00fcl sayfas\u0131 bulabilirsiniz.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">internal class OrnekModulSayfasi : ModulePage \/*Form*\/\n    {\n        private Button ornekButton;\n\n        public OrnekModulSayfasi() {\n            InitializeComponent();\n            MessageBox.Show(\"\u00d6rnek Modul Sayfas\u0131 ilklendirildi\");\n        }\n\n        private void InitializeComponent()\n        {\n            this.ornekButton = new System.Windows.Forms.Button();\n            this.SuspendLayout();\n            \/\/\n            \/\/ ornekButton\n            \/\/\n            this.ornekButton.Location = new System.Drawing.Point(51, 38);\n            this.ornekButton.Name = \"ornekButton\";\n            this.ornekButton.Size = new System.Drawing.Size(92, 23);\n            this.ornekButton.TabIndex = 0;\n            this.ornekButton.Text = \"Buraya bas\u0131n\u0131z\";\n            this.ornekButton.UseVisualStyleBackColor = true;\n            this.ornekButton.Click += new System.EventHandler(this.ornekButton_Click);\n            \/\/\n            \/\/ OrnekModulSayfasi\n            \/\/\n            this.Controls.Add(this.ornekButton);\n            this.Name = \"OrnekModulSayfasi\";\n            this.ResumeLayout(false);\n\n        }\n\n        private void ornekButton_Click(object sender, System.EventArgs e)\n        {\n            MessageBox.Show(\"Butona bas\u0131ld\u0131\");\n        }\n    }<\/pre>\n\n\n\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, bu s\u0131n\u0131f\u0131 tasarlarken kolayl\u0131k olmas\u0131 ad\u0131na forms\u2019tan t\u00fcretip i\u015finiz bitince yeniden ModulPage\u2019den t\u00fcretebilirsiniz.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/ModulSayfasiTasarimi.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/ModulSayfasiTasarimi_thumb.png\" alt=\"Mod\u00fcl Sayfas\u0131 Tasar\u0131m\u0131\"\/><\/a><\/figure>\n\n\n\n<p>Bu son ad\u0131m ard\u0131ndan art\u0131k mod\u00fcl\u00fcm\u00fcz\u00fc test edebiliriz. Ba\u015flat men\u00fcs\u00fcnde yer alan \u00e7al\u0131\u015ft\u0131r yard\u0131m\u0131yla yada windows tu\u015fu + R kombinasyonuyla a\u00e7\u0131lan <em>\u00e7al\u0131\u015ft\u0131r<\/em> diyalo\u011funa InetMgr yazarak IIS y\u00f6neticisini a\u00e7abilirsiniz. A\u015fa\u011f\u0131daki resimde de g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi giri\u015f sayfas\u0131nda \u00d6rnek Sayfa ba\u015fl\u0131\u011f\u0131yla mod\u00fcl\u00fcm\u00fcz i\u00e7in bir buton olu\u015fturulmu\u015f durumda. Bu butona bast\u0131\u011f\u0131m\u0131zda mod\u00fcl\u00fcm\u00fcz\u00fcn ilklendi\u011fini g\u00f6stermek i\u00e7in kulland\u0131\u011f\u0131m\u0131z mesaj diyalogu g\u00f6r\u00fclecektir.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/IISGirisSayfasi.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/IISGirisSayfasi_thumb.png\" alt=\"IIS Giri\u015f Sayfas\u0131\"\/><\/a><\/figure>\n\n\n\n<p>Diyalogu kapatt\u0131\u011f\u0131n\u0131zda bu defa da kar\u015f\u0131m\u0131za ekledi\u011fimiz butonuyla \u00f6rnek sayfam\u0131z gelecektir. Butona bast\u0131\u011f\u0131m\u0131zda da ekledi\u011fimiz mesaj diyalogu gelecektir.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/OrnekModulSayfasi.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/OrnekModulSayfasi_thumb.png\" alt=\"\u00d6rnek Mod\u00fcl Sayfas\u0131\"\/><\/a><\/figure>\n\n\n\n<p>Bu noktadan sonra elimizde ilk \u00e7al\u0131\u015fan IIS y\u00f6netim mod\u00fcl\u00fcm\u00fcz olacak. Bu noktadan yola \u00e7\u0131karak ihtiya\u00e7lar\u0131m\u0131z do\u011frultusunda IIS y\u00f6neticisi API\u2019lerini kullanarak yeni mod\u00fcller ekleyebilirsiniz.<\/p>","protected":false},"excerpt":{"rendered":"<p>IIS 7 ile birlikte Microsoft IIS Y\u00f6netici konsolunda radikal de\u011fi\u015fiklikler yapt\u0131. Eskisi gibi sabit, sadece Microsoft destekli bir y\u00f6netim konsolu kabu\u011fundan s\u0131yr\u0131larak geni\u015fletilebilir ve arkas\u0131nd topluluk deste\u011fi olan bir y\u00f6netim konsolu haline geldi. Bu sayede 3. parti geli\u015ftiriciler piyasa ihtiya\u00e7lar\u0131 do\u011frultusunda IIS y\u00f6netim konsolu eklentileri \u00e7\u0131kartabilmekte, \u00f6zel kurumlar kendi eklentilerini kullanmakta. Bu makalemde sizlere IIS&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/\">Read More<\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[91,28],"tags":[41,90],"class_list":["post-33071","post","type-post","status-publish","format-standard","hentry","category-iis","category-turkce","tag-c","tag-iis"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>IIS 7 Y\u00f6neticisine Kendi Mod\u00fcl\u00fcn\u00fcz\u00fc Eklemek - Fatih Boy<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihboy.com\/en\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"IIS 7 Y\u00f6neticisine Kendi Mod\u00fcl\u00fcn\u00fcz\u00fc Eklemek - Fatih Boy\" \/>\n<meta property=\"og:description\" content=\"IIS 7 ile birlikte Microsoft IIS Y\u00f6netici konsolunda radikal de\u011fi\u015fiklikler yapt\u0131. Eskisi gibi sabit, sadece Microsoft destekli bir y\u00f6netim konsolu kabu\u011fundan s\u0131yr\u0131larak geni\u015fletilebilir ve arkas\u0131nd topluluk deste\u011fi olan bir y\u00f6netim konsolu haline geldi. Bu sayede 3. parti geli\u015ftiriciler piyasa ihtiya\u00e7lar\u0131 do\u011frultusunda IIS y\u00f6netim konsolu eklentileri \u00e7\u0131kartabilmekte, \u00f6zel kurumlar kendi eklentilerini kullanmakta. Bu makalemde sizlere IIS...Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2010-06-17T16:19:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-14T14:01:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/yeniSinifKutuphanesi_thumb.png\" \/>\n<meta name=\"author\" content=\"Fatih Boy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Boy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"IIS 7 Y\u00f6neticisine Kendi Mod\u00fcl\u00fcn\u00fcz\u00fc Eklemek\",\"datePublished\":\"2010-06-17T16:19:20+00:00\",\"dateModified\":\"2021-06-14T14:01:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/\"},\"wordCount\":2079,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/yeniSinifKutuphanesi_thumb.png\",\"keywords\":[\"C#\",\"IIS\"],\"articleSection\":[\"IIS\",\"T\u00fcrk\u00e7e\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/\",\"url\":\"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/\",\"name\":\"IIS 7 Y\u00f6neticisine Kendi Mod\u00fcl\u00fcn\u00fcz\u00fc Eklemek - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/yeniSinifKutuphanesi_thumb.png\",\"datePublished\":\"2010-06-17T16:19:20+00:00\",\"dateModified\":\"2021-06-14T14:01:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#primaryimage\",\"url\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/yeniSinifKutuphanesi_thumb.png\",\"contentUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/yeniSinifKutuphanesi_thumb.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"IIS 7 Y\u00f6neticisine Kendi Mod\u00fcl\u00fcn\u00fcz\u00fc Eklemek\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihboy.com\/#website\",\"url\":\"https:\/\/fatihboy.com\/\",\"name\":\"Fatih Boy\",\"description\":\"Ki\u015fisel Web Sitesi\",\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihboy.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\",\"name\":\"Fatih Boy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"caption\":\"Fatih Boy\"},\"logo\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/fatihboy.com\"],\"url\":\"https:\/\/fatihboy.com\/en\/author\/fatih\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"IIS 7 Y\u00f6neticisine Kendi Mod\u00fcl\u00fcn\u00fcz\u00fc Eklemek - Fatih Boy","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihboy.com\/en\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/","og_locale":"en_US","og_type":"article","og_title":"IIS 7 Y\u00f6neticisine Kendi Mod\u00fcl\u00fcn\u00fcz\u00fc Eklemek - Fatih Boy","og_description":"IIS 7 ile birlikte Microsoft IIS Y\u00f6netici konsolunda radikal de\u011fi\u015fiklikler yapt\u0131. Eskisi gibi sabit, sadece Microsoft destekli bir y\u00f6netim konsolu kabu\u011fundan s\u0131yr\u0131larak geni\u015fletilebilir ve arkas\u0131nd topluluk deste\u011fi olan bir y\u00f6netim konsolu haline geldi. Bu sayede 3. parti geli\u015ftiriciler piyasa ihtiya\u00e7lar\u0131 do\u011frultusunda IIS y\u00f6netim konsolu eklentileri \u00e7\u0131kartabilmekte, \u00f6zel kurumlar kendi eklentilerini kullanmakta. Bu makalemde sizlere IIS...Read More","og_url":"https:\/\/fatihboy.com\/en\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/","og_site_name":"Fatih Boy","article_published_time":"2010-06-17T16:19:20+00:00","article_modified_time":"2021-06-14T14:01:23+00:00","og_image":[{"url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/yeniSinifKutuphanesi_thumb.png","type":"","width":"","height":""}],"author":"Fatih Boy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatih Boy","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"IIS 7 Y\u00f6neticisine Kendi Mod\u00fcl\u00fcn\u00fcz\u00fc Eklemek","datePublished":"2010-06-17T16:19:20+00:00","dateModified":"2021-06-14T14:01:23+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/"},"wordCount":2079,"commentCount":0,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"image":{"@id":"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/yeniSinifKutuphanesi_thumb.png","keywords":["C#","IIS"],"articleSection":["IIS","T\u00fcrk\u00e7e"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/","url":"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/","name":"IIS 7 Y\u00f6neticisine Kendi Mod\u00fcl\u00fcn\u00fcz\u00fc Eklemek - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#primaryimage"},"image":{"@id":"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/yeniSinifKutuphanesi_thumb.png","datePublished":"2010-06-17T16:19:20+00:00","dateModified":"2021-06-14T14:01:23+00:00","breadcrumb":{"@id":"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#primaryimage","url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/yeniSinifKutuphanesi_thumb.png","contentUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/06\/yeniSinifKutuphanesi_thumb.png"},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/iis-7-yoneticisine-kendi-modulunuzu-eklemek\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"IIS 7 Y\u00f6neticisine Kendi Mod\u00fcl\u00fcn\u00fcz\u00fc Eklemek"}]},{"@type":"WebSite","@id":"https:\/\/fatihboy.com\/#website","url":"https:\/\/fatihboy.com\/","name":"Fatih Boy","description":"Ki\u015fisel Web Sitesi","publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihboy.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158","name":"Fatih Boy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","caption":"Fatih Boy"},"logo":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/fatihboy.com"],"url":"https:\/\/fatihboy.com\/en\/author\/fatih\/"}]}},"brizy_media":[],"_links":{"self":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/33071","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/comments?post=33071"}],"version-history":[{"count":1,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/33071\/revisions"}],"predecessor-version":[{"id":33362,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/33071\/revisions\/33362"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=33071"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=33071"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=33071"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}