Производительность WCF и ef 4.0 очень плохая .... Сайт работает очень медленно - PullRequest
1 голос
/ 23 января 2012

у нас есть проект, в котором мы использовали 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;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...