Я буду развертывать свое первое приложение на основе WCF и хотел бы узнать, как лучше всего развертывать. Вот моя архитектура. См. Прикрепленное изображение.
У нас есть WCF, написанный на платформе 4.0, и у нас есть 3 метода. Внешний веб-сайт ASP.NET (www.site.com) вызывает WCF для сохранения данных, а также для чтения данных. На рисунке method1 используется для сохранения данных, а method2 и 3 предназначены для чтения данных из базы данных SQL server 2008 R2.
В моем веб-портале ASP.Net ...
Я вызываю Method1 и закрываю соединение ... вот так ..
ServiceClient client = new ServiceClient(); client.Method1(data to be saved) client.close();
Я вызываю методы 2 и 3 следующим образом
ServiceClient client = new ServiceClient(); dropDown1list.datasource = client.Method2() dropDown2list.datasource = client.Method3() client.close();
Несколько пользователей могут одновременно использовать веб-сайт для отправки данных. Учитывая эту архитектуру ... как лучше всего развернуть WCF, чтобы он мог обрабатывать несколько пользователей одновременно? Я прочитал статью http://www.codeproject.com/Articles/89858/WCF-Concurrency-Single-Multiple-and-Reentrant-and и http://www.codeproject.com/Articles/86007/ways-to-do-WCF-instance-management-Per-call-Per.
Теперь я считаю, что мне нужна моя служба WCF как
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple , InstanceContextMode = InstanceContextMode.PerCall )]
public class Service : IService
{
public bool Method1(data to be saved)
{
}
public List<string> Method2()
{
}
public List<string> Method2()
{
}
}
Я прав ?. Какие-либо предложения ?.