Ще споделя малко информация на готово, защото мен лично ме затрудни да си хоствам WCF проекта през IIS:

Оригинална статия

  • Разгледайте оригиналната статията - в началото е обяснено с малко информация за всяка стъпка, а по - надолу подробно

Версията ми на IIS е 7.5 но с малко човъркане се оправих. Winodws 7

Инсталиране на IIS:

  • Натиснете windows бутона и въведете в полето за търсене - windows features, изберете turn features on and off
  • Selected Features

Добавяне на библиотеката към Default Web Site

  • Пускате IIS
  • Изберете Application Pools -> Default Application Pool с десен бутон -> Set Application Pool Deafaults -> Нагласете .NET Framework Version на 4.0 (Или направете нов Application Pool със default-ните параметри и му дайте 4.0
  • Избирате Sites -> Deafault Web Site с десен бутон и Add Application
  • Задавате някакво неуместно име по ваш избор - това ще се залепи след localhost и пътят ви става нещо такова localhost/ApplicationAlias/SomeService.svc
  • За Аpplication pool избирате DefaultAppPool или този който сте създали
  • За Phisical Path избирате папката на WCF library проекта - там където е .csproj файлът 

Готината част със конфигурирането (Когато няма да правите Publish)

  • Във Visual Studio във WCF Проекта изберете add new Item и добавете нов текстов файл като за extension сложите .svc
  • Вътре добавете ей тази красота:  <%@ ServiceHost Service="Namespace.Assembly.ContractImplementation" %> като замените със имената на вашите си творения
  • може да видите какви грешки ви дава за сега като от IIS изберете Default Web Site -> Името на нещото ви -> Manage Application -> Browse 
  • Продължаваме напред...
  • Във Visual Studio избирате WCF Проектът -> Properties -> Build -> Output Path -> задавате "bin\" (без Debug)
  • Отваряте папката на WCF проекта през Explorer и правите копие на App.config файла и го кръщавате Web.config - гледате някой да не ви види, защото не е добра практика
  • Предните 2 стъпки се извършват защото IIS гледа във bin папката и защото IIS не чете app.config, а web.config

Готово, останаха само останалите грешки

  • Почти сигурно е че все още нещо не е наред ...
  • Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly...
    • Отваряте command prompt със администраторски права:
    cd\Windows\Microsoft.NET\Framework64\v4.0.30319
  • aspnet_regiis.exe -iru
  •  iisreset
    • според Microsoft горният проблем се получава когато IIS е инсталиран след .NET Framework 4.0, или преди Service Model-a на WCF да бъде регистриран
  • Стартирайте Default Web Site като го изберете с втория бутон на мишката -> Manage Web Site -> Start

По - лесният вариант с публикуването

  • По този начин не е нужно да правим някой от по - горните гимнастики - няма нужда да променяме build папката на bin, няма нужда да създаваме *.svc файл и няма нужда да преименуваме App.config на Web.config
  • Като недостатък трябва да публикуваме всеки път проекта като направим промени 
  • Във VS Избираме WCF проектът със втория бутон -> Publish -> Избираме в коя папка и Only files needed to run this application
  • След това във IIS добавяме към Default Web Site -> Add Application - избраната по - горе папка 

Проблеми от типа Access Denied

  • В зависимост от това къде се намира папката IIS може да няма права да я достъпва (примерно където ви съвеъва да я запазите по подразбиране - в My Documents)
  • Трябва да дадете права за четене на IIS до папката с приложението
  • IIS Permissions
  • въвежда се IIS_IUSRS - задължително 'Check Names' преди 'Ok' - достатъчни са права за четене
  • Това сигурно не ви се вижда достатъчно, точно така - трябва да включите basic authentication -> като отворите страницата ще ви изкочи прозорче да си въведете името и паролата в windows, ако не включите authentication ще ви даде access denied
  • Ето кака IIS Authentication

Други проблеми

  • Ако минава дълго време и страницата не се зарежда, може да рестартирате DefaultAppPool (или който ползвате) от страницата Application Pools -> селектирате го и в дясната страна избирате Recycle

Бонус

Не споменах как се настройва app.config-ът в случай че сте направили WCF Service Library - както всъщност се иска във домашното - много е лесно - гледате App.config-ът на WcfServiceCalculator.Library от демата в github и по аналогичен начин конфигурирате вашия просто трябва да заместите където се споменават namespace, имена на contract и assembly със съответните имена които вие използвате

Сега след като отворите страницата на Servicе-а тя трябва да изглежда по същия начин както когато я отваряте през debug - help страничка със малките примерчета с код от C# и VB.

Извинявам се за големите изображения, опитах се да ги направя по - малки, но текстът в тях не може да се чете