Что-то я не совсем понял, что вы имеете в виду. В любом случае, если не брать во внимание синтаксис, статический класс от синглтона отличается только тем, что у него невозможно создать конструктор с параметрами (но никто не запрещает сделать метод а-ля Initialize). Тут где-то даже был холивар по поводу что лучше, статический класс или синглтон.
Найдите 10 отличий =) // используя объект класса службы
WcfService instance = new WcfService("test");
ServiceHost host = new ServiceHost(instance);
host.Open();
// ...
instance.SomeInstanceProperty = 10;
// используя статические поля
WcfService.Initialize("test");
ServiceHost host = new ServiceHost(typeof(WcfService));
host.Open();
// ...
WcfService.SomeStaticProperty = 10;
Как вариант, используйте статические поля в вашем классе. В этом случае сколько бы объектов не создавалось, значения этих полей у всех будут одинаковыми.
Ну а на счет InstanceContextMode.Single и многопоточки — надо ковырять. На сколько я помню по описаниям, такое возможно, но никогда не пробовал.
самое главное, что сервер может одновременно несколько биндингов обслуживать. и настройки все эти можно (и нужно) выносить в конфиги — тогда перенастройка службы становится элементарной.
Всем, кто хочет разобраться с WCF очень рекомендую вот эту книгу. Сам по ней учился. Всё очень просто и доходчиво объясняется — начиная от подобных Hello world, и заканчивая оптимизациями.
На мой взгляд, золотая середина — это как в cmd сделать два варианта команд (правда МС почему-то далеко не для всех так постарались), например md и mkdir, или возможностьне набирать команды полностью, как в ios и некоторых утилитах (виндовый netsh).
Ну и кроме того, Tab никто не отменял. В этом плане я завидую иксовой консоли.
Хочу акцентировать — значение команд я знаю, да и на крайний случай всегда в манах можно посмотреть. Меня просто удивляет стремление придумывать не самые понятные аббревиатуры.
=) вы видать никогда с такой ситуацией не сталкивались.
Дииктовал свой email. Как составная часть, имя — yuri
— игрек, ю (йу), ер, и
— игрек, и, ер, и с точкой — правильно?
— ???
И так несколько раз. В конце-концов легче было продиктовать неправильно, но для той белокурой девушки понятно.
По поводу хелпов — маны это хорошо, но часто как раз шпаргалка и нужна, для того, чтобы подсмотреть как написать: fck -a, fck --a, fck -A.
На счет судо — тоже понятно, если посидеть подумать. Но объясните мне, почему в /etc/passwd хранятся не пароли? Я то конечно в курсе, что раньше в юниксе там вместе с настройками учеток еще и пароли лежали, но сейчас — где связь? pwd — wtf, при чем тут путь, где я нахожусь? uname — я сначала думал, что выводит имя пользователя which — вызывает не меньшее изумление, чем pwd nice — очень милая команда, по названию ничего больше не скажешь chmod и chown — происхождение понятно, но по названию тоже нескажешь, кто что делает. хотя потом фраза отchmodить файл доставляет.
Ну и так далее по списку. В принципе, значение большинства команд понятно после прочтения хелпа, но с первого взгляда всё равно не скажешь, для чего они нужны — нужно тратить время и читать маны. Этим грешит не только линукс — в виндовой cmd тоже хватает таких косяков — те же cacls и icacls ничем не лучше chmod'а. Т.е. я негодую не в сторону линукса, а в сторону людей, которые пишут консоль для себя, а не для людей.
Хотя, сервис удобно использовать для того, чтобы выложить туда огромезный скрипт, допустим, для настройки сети, который только задаст конечному пользователю пару вопросов, а остальное всё сам сделает (для линукса, опять же немаловажно, ибо настройки меняются в 10 местах). Получить для этого скрипта короткое название, которое пусть и будет хуже, чем матюк, но набрать его будет легче, чем скрипт целиком.
Ошибка 102 (net::ERR_CONNECTION_REFUSED): Сервер отказал в подключении.
Найдите 10 отличий =)
// используя объект класса службы
WcfService instance = new WcfService("test");
ServiceHost host = new ServiceHost(instance);
host.Open();
// ...
instance.SomeInstanceProperty = 10;
// используя статические поля
WcfService.Initialize("test");
ServiceHost host = new ServiceHost(typeof(WcfService));
host.Open();
// ...
WcfService.SomeStaticProperty = 10;
Ну а на счет InstanceContextMode.Single и многопоточки — надо ковырять. На сколько я помню по описаниям, такое возможно, но никогда не пробовал.
Стив Резник, Ричард Крейн, Крис Боуэн. Основы Windows Communication Foundation для .NET Framework 3.5 (это книга по ссылке выше)
P.S. Вообще, занятно можно перевести «Fuck you, motherfucker» с учетом вежливости обращения.
Ну и кроме того, Tab никто не отменял. В этом плане я завидую иксовой консоли.
Дииктовал свой email. Как составная часть, имя — yuri
— игрек, ю (йу), ер, и
— игрек, и, ер, и с точкой — правильно?
— ???
И так несколько раз. В конце-концов легче было продиктовать неправильно, но для той белокурой девушки понятно.
На счет судо — тоже понятно, если посидеть подумать. Но объясните мне, почему в /etc/passwd хранятся не пароли? Я то конечно в курсе, что раньше в юниксе там вместе с настройками учеток еще и пароли лежали, но сейчас — где связь?
pwd — wtf, при чем тут путь, где я нахожусь?
uname — я сначала думал, что выводит имя пользователя
which — вызывает не меньшее изумление, чем pwd
nice — очень милая команда, по названию ничего больше не скажешь
chmod и chown — происхождение понятно, но по названию тоже нескажешь, кто что делает. хотя потом фраза отchmodить файл доставляет.
Ну и так далее по списку. В принципе, значение большинства команд понятно после прочтения хелпа, но с первого взгляда всё равно не скажешь, для чего они нужны — нужно тратить время и читать маны. Этим грешит не только линукс — в виндовой cmd тоже хватает таких косяков — те же cacls и icacls ничем не лучше chmod'а. Т.е. я негодую не в сторону линукса, а в сторону людей, которые пишут консоль для себя, а не для людей.
— t u15
— угу… ой, а у меня кернел паник!
— ты что написал?
— те пробел у15
— «у» какое?!
— ну «у» русское
— fck!