2011-12-28 4 views
4

Я разрабатываю веб-сервис WCF, который потенциально будет вызываться 10 000+ плюс отдельные клиенты в любой момент времени. При вызове службы служба создает класс «Object1».WCF статический метод в классе

public List<string> AnswerClient() { 
    Object1 _hello = new Object1(); 
    return _hello.AnswerClient(); 
} 

Поскольку классу Object1 необходимо создать другие классы Object1 внутри него. Ему необходимо создать другие подмножества классов Object1. Я думал об использовании статического метода в классе Object1 создать другие методы Object1 как

Object1.AnswerClient() 

, потому что я не думаю, что нужно создать специальную Object1() в первую очередь. Если несколько клиентов вызовут службу, будет ли этот Object1.AnswerClient() испортить код, потому что он является статическим? Поскольку статика специфична для класса, все клиенты, похоже, затронуты?

Как мне создать этот класс. Клиент вызывает службу, сервис создает объект на основе данных клиента. Этот объект внутри него создает еще 20 похожих объектов (разбивает пользовательские данные в зависимости от данных).

Любая помощь и понимание помогут. Как мне это вообще задумать?

Спасибо.

ответ

4

Если метод AnswerClient сам по себе не требует какого-либо состояния, кроме состояния, которое он создает, не должно возникнуть проблемы с его статикой.

Это, как говорится, я думаю об этом по-другому. Есть AnswerClient действительно что-то, что является функцией Object1 (что также может получить лучшее имя)? Или это универсальный метод полезности? Если он логически связан с конкретным экземпляром «Object1», я оставил его как метод экземпляра. Если это более общая утилита и не имеет прямого отношения ко всему, что представляет собой «Object1», сделайте ее статичной.

Смежные вопросы