OVH Community, votre nouvel espace communautaire.

Accès au HttpRuntime cache sur un hébergement mutualisé ?


PrjCmb
23/03/2015, 09h38
Ça me paraît probable.

Merci de votre réponse :-)

janus57
20/03/2015, 16h02
Bonjour,

perso je dirais que l'accès au cache n'est pas autorisé car comme tout les mutualisés ya très souvent des restriction d'accès au niveau des commandes qui peuvent directement interagir avec le serveur.

Exemple sous un mutualisé linux ont a pas accès aux fonctions exec et dérivé qui permettent de faire une commande ou d’exécuter un programme externe (à PHP).

Sous windows je pense qu'il existe +/- les même restrictions.

Après quand je disais si vous étiez sûre que la syntaxe soit bonne c'est parce que sur le lien que j'ai donné il disent qu'il existe une nouvelle syntaxe pour ASP.net 4.X

Cordialement, janus57

Gaston_Phone
20/03/2015, 15h51
Citation Envoyé par PrjCmb
Ma question : Avec un hébergement mutualisé, ça ne fonctionne pas, or, je suppose que je n'ai pas accès au cache serveur avec cette offre, ce que je pourrai comprendre.
Il faut préciser ici si c'est :
  • Un hébergement Mutualisé (os Unix) ?
  • Un hébergement Mutualisé Windows ?

PrjCmb
20/03/2015, 14h45
Ok, je reformule ma question car elle n'a pas été bien comprise (et je m'en excuse)

Mon code fonctionne PARFAITEMENT, je l'avais posté à titre d'exemple mais je n'ai pas le moindre doute sur son fonctionnement.
Ce code simule un service Windows pour lancer des tâches planifiées, en l’occurrence le déclenchement d'une méthode. La tâche est mise dans le HttpCache, exécutée, supprimée, puis re-planifiée afin de se ré-exécuter X secondes plus tard.
Après, le code que j'ai donné est largement simplifié, le "vrai" code interagit avec mes controlers, qui eux-mêmes vont piocher dans la BDD etc... Et oui je suis absolument certain de ma syntaxe, le problème n'est pas là.

Ma question : Avec un hébergement mutualisé, ça ne fonctionne pas, or, je suppose que je n'ai pas accès au cache serveur avec cette offre, ce que je pourrai comprendre. Ce que j'aimerai savoir, c'est :
- Déjà est-ce que mon hypothèse précédente est vraie ?
- Est-ce qu'avec un serveur perso j'ai accès à ce cache ?

Un membre de la team OVH me confirmer ou m'infirmer mes suppositions ?
Merci :-)

Gaston_Phone
19/03/2015, 22h44
Citation Envoyé par janus57
@Gaston_Phone, pourquoi lui donner un lien vers un cron pour mutualisé linux alors que ici il demande ce qu'il ne va pas avec son code asp.net (jamais fait de asp.net, mais vu qu'on est dans la section hébergement windows je suppose...) ?
Houps! Je n'avais pas vu qu'il s'agissait d'un hébergement Windows. Désolé.

janus57
19/03/2015, 21h40
Bonjour,

@Gaston_Phone, pourquoi lui donner un lien vers un cron pour mutualisé linux alors que ici il demande ce qu'il ne va pas avec son code asp.net (jamais fait de asp.net, mais vu qu'on est dans la section hébergement windows je suppose...) ?

Détails de l'offre windows : https://www.ovh.com/fr/hebergement-w..._technique.xml
Donc déjà y a pas de cron.

Sinon pour répondre à @PrjCmb tu es sure de ta syntaxe ?
Car si je cherche sur google il semblerait que cette syntaxe change en fonction de la version du .ASP

Cf : http://stackoverflow.com/questions/8...pruntime-cache

Après vu que j'y connais absolument rien en ASP je m'arrête ici.

Cordialement, janus57

Gaston_Phone
19/03/2015, 21h31
Sur mon hébergement PERSO :
Manager v3 > Mutualisé > Hébergement > Services WEB > Planificateur de tâches > Gestion de tâches > Création.

PrjCmb
19/03/2015, 15h36
Merci pour cette réponse (très) rapide

Par contre dans le Manager v3 / Mutualisé / Hébergement, je ne vois pas de "Planificateur de tâche", ou quoi que ce soit d'apparenté...

Gaston_Phone
19/03/2015, 15h18
Créer une tache :
Manager v3 > Mutualisé > Hébergement > Planificateur de tâches > Gestion de tâches > Création.

PrjCmb
19/03/2015, 15h13
Bonjour,

Ma question va surement paraître stupide, mais j'aurai besoin d'être certain de la réponse.

Je suis actuellement en train de tester un site web en cours de développement, et j'utilise à un moment le HttpRuntime cache du serveur pour lancer une tâche planifiée (une méthode qui s'exécute pour les X minutes).
Ça marche parfaitement en localhost mais ça plante systématiquement une fois poussé sur mon hébergement mutualisé.

Le code ressemble à :

Code:
private static CacheItemRemovedCallback OnCacheRemove = null;

protected void Application_Start(object sender, EventArgs e)
{
    AddTask("MaTache", 60);
}

private void AddTask(string name, int seconds)
{
    OnCacheRemove = new CacheItemRemovedCallback(CacheItemRemoved);
    HttpRuntime.Cache.Insert(name, seconds, null, 
        DateTime.Now.AddSeconds(seconds), Cache.NoSlidingExpiration,
        CacheItemPriority.NotRemovable, OnCacheRemove);
}

public void CacheItemRemoved(string k, object v, CacheItemRemovedReason r)
{
    //Ré-ajoute la tâche pour qu'elle se relance
    AddTask(k, Convert.ToInt32(v));
}
Questions :
- Est-ce normal que cela ne marche pas sur un hébergement mutualisé, à cause du cache du serveur qui me serait inaccessible ?
- Si c'est le cas, est-ce qu'un hébergement perso me permettrait de lancer le code ci-dessus ?
- Sinon, quelle offre me permettrait de lancer le code ci-dessus ?