у нас есть проект, в котором мы использовали WCF, потому что у нас есть несколько сайтов, которые извлекают одни и те же данные .... Мы использовали HTTPBinding в WCF и EF 4.0 для взаимодействия с базой данных. Когда он был перемещен в производствоМы обнаружили, что сайт работал очень медленно ... Знаете ли вы, каким образом мы можем резко увеличить производительность ... EF вызывает много проблем с производительностью ... Пожалуйста, предложите следующие шаги
Договор на обслуживание
[ServiceContract]
public interface ICommonService
{
[OperationContract]
LoginDTO AuthenticateUser(string userName, string password, int ownerId);
}
<service name="MyService.Services.CommonService">
<endpoint binding="basicHttpBinding" bindingConfiguration=""
name="CommonServiceEndpoint" contract="MyService.Services.Contracts.ICommonService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8732/Design_Time_Addresses/MyService.Services/ICommonService/" />
</baseAddresses>
</host>
</service>
Мы ввели индексацию, но она не сильно повышает производительность
using (MyService.DataAccess.MyService_RedesignEntities context = new MyService_RedesignEntities())
{
context.ContextOptions.ProxyCreationEnabled = false;
context.ContextOptions.LazyLoadingEnabled = false;
ObjectParameter StrOutput = new ObjectParameter("chvnOutputMesage", SqlDbType.NVarChar);
objResult = context.spAuthenticateUser(ownerId, userName, encryptedPassword).FirstOrDefault();
return objResult;
}