Как настроить Azure Cache


Для использования кеша есть 2 способа:
1. Выделить какой-то процент памяти из существующих инстанcов вашего приложения для кэша.
2. Создать Worker Role память которой будет использоваться для кэша.
В обоих случаях кэш включается в настройках Cloud проект в Visual Studio.
В первом случае вы вделаете проценты – это опция “Co-located Role”, а во втором в параметрах Cache Role – Dedicated Role.
Если у вас отдельная Cache Worker Role то она должна находиться в том же Cloud проекта что и проект который будет использовать кэш.

Также есть настройки кэша, которые касаться времени жизни.
1. None  - вы сами управляете временем жизни кэша.
2. Absolute – кэш существует указано кол-во минут. После того как время выйдет кэш удалиться.
3. Sliding Window – после обращение к кэшу время счетчик времени сбрасывается. В общем кэш живет указанное кол-во времени, если не было доступа к нему. Если доступ был то счетчик сбрасывается и отсчет начинается заново.


Настройка проекта:
1. Добавить Cache Worker Role, или выделить кэш из инстанов.
2. Добавить в проект в котором будет использоваться кэш через NuGet – Windows Azure Caсhe. Судя по документации достаточно одного инстанса. В общем у вас должны появиться следующие библиотеки:
    a. Microsoft.ApplicationServer.Caching.Client.dll
    b. Microsoft.ApplicationServer.Caching.Core.dll
    c. Microsoft.WindowsFabric.Common.dll
    d. Microsoft.WindowsFabric.Data.Common.dll
    e. Microsoft.ApplicationServer.Caching.AzureCommon.dll
    f. Microsoft.ApplicationServer.Caching.AzureClientHelper.dll

3. Прописать в Web.Config ( хотя скорее всего все пропишется автоматически).

В начале файла:

<configSections>
<section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
<section name="cacheDiagnostics" type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon" allowLocation="true" allowDefinition="Everywhere" />
</configSections/>

 

И где-то в конце:

<dataCacheClients>  
<dataCacheClient name="default">    
<autoDiscover isEnabled="true" identifier="[cache cluster role name]" />    
<!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->  
</dataCacheClient></dataCacheClients><cacheDiagnostics>  
<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
</cacheDiagnostics>

Где [cache cluster role name] – это имя Cache Worker Role.

Или раскомментировать сроку для использования Co-located cache.

Использование:
Создаем объект с кэшем:

DataCacheFactory cacheFactory = new DataCacheFactory();
DataCache cache = cacheFactory.GetDefaultCache();

И работаем с ним:

cache.Put("item", "value");
cache.Add("item", "value");
object result = cache.Get("Item");

 

Ссылка: http://www.windowsazure.com/en-us/develop/net/how-to-guides/cache/#add-object

 

Как получить IP клиента в WCF Service

Чтобы получить IP подключенного клиента нужно сделать:

 

OperationContext context = OperationContext.Current;
MessageProperties messageProperties = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpointProperty = 
messageProperties[RemoteEndpointMessageProperty.Name] 
as RemoteEndpointMessageProperty;
String ClientIP = endpointProperty.Address;

Как удалить проект из Team Foundation Service (TFS Service)

Чтобы удалить проект из сервиса TFS нужно вызвать командную строку Developer Command Prompt (ищите в программах, появляется вместе с установленной Visual Studio)

И выполнить команду :

TFSDeleteProject /force /collection:https://YOUR_NAME.visualstudio.com/DefaultCollection PROJECT_NAME

После этого произойдёт удаление проекта.

 

Еще хороший способ, через web панель описан тут http://stackoverflow.com/a/19430842

P.S.

 Если в имени проекта есть пробелы, то заключите имя в двойные кавычки, например - "Project Name"