none
Consomation de flux RSS RRS feed

  • Question

  • Bonjour

    Je cherche à afficher un flux RSS dans une application MVC. J'ai essayé plusieurs méthode mais j'ai toujours la même exception :

    {"An exception occurred during a WebClient request."}
        [System.Net.WebException]: {"An exception occurred during a WebClient request."}
        _className: null
        _data: {System.Collections.ListDictionaryInternal}
        _dynamicMethods: null
        _exceptionMethod: null
        _exceptionMethodString: null
        _helpURL: null
        _HResult: -2146233079
        _innerException: {"The type initializer for 'System.Net.ServicePointManager' threw an exception."}
        _ipForWatsonBuckets: 0
        _message: "An exception occurred during a WebClient request."
        _remoteStackIndex: 0
        _remoteStackTraceString: null
        _safeSerializationManager: {System.Runtime.Serialization.SafeSerializationManager}
        _source: "System"
        _stackTrace: {sbyte[96]}
        _stackTraceString: null
        _watsonBuckets: {byte[5616]}
        _xcode: -532462766
        _xptrs: 0
        Data: {System.Collections.ListDictionaryInternal}
        HelpLink: null
        HResult: -2146233079
        InnerException: {"The type initializer for 'System.Net.ServicePointManager' threw an exception."}
        IPForWatsonBuckets: 0
        IsTransient: false
        Message: "An exception occurred during a WebClient request."
        RemoteStackTrace: null
        Source: "System"
        StackTrace: "   at System.Net.WebClient.OpenRead(Uri address)\r\n   at System.Net.WebClient.OpenRead(String address)\r\n   at ArtoisVttV2.Controllers.ActivityController.Index() in c:\\Users\\a.dezouter\\Documents\\Visual Studio 2012\\Projects\\ArtoisVTT_V2\\ArtoisVttV2\\ArtoisVttV2\\Controllers\\ActivityController.cs:line 31"
        TargetSite: {System.IO.Stream OpenRead(System.Uri)}
        WatsonBuckets: {byte[5616]}

    Voila la partie de mon controler qui pose problème :

                string errorString = "";
                string url = "http://news.google.fr/nwshp?hl=fr&tab=wn&output=rss";
    
                try
                {
                    //set your proxy to client here
                    WebClient client = new WebClient();
                    
                    if (String.IsNullOrEmpty(url))
                        throw new ArgumentNullException("feed");
    
                    XmlReader reader = XmlReader.Create(new StringReader(client.DownloadString(url)));
    
                    return View();
    
                }
    ...

    Avez vous une idée ? Le problème viendrait du "client.DownloadString(url)" mais pourquoi ?

    Merci de votre aide,

    NauD

    vendredi 6 juin 2014 08:47

Toutes les réponses

  • Bonjour

    Je viens de tester exactement ce code et il fonctionne correctement (dans une application Windows Forms).
    Pouvez-vous nous montrer le fichier Web.Config?
    Le plus probable une configuration dans le fichier de config est la cause de cette erreur.

    Bien cordialement, 


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mardi 10 juin 2014 09:46
  • Bonjour,

    Effectivement ca doit venir du web.config.
    Voila le miens :

    html,body{padding:0;margin:0;font-family:Verdana,Geneva,sans-serif;background:#fff;}html{font-size:100%}body{font-size:.75em;line-height:1.5;padding-top:1px;margin-top:-1px;}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em}h3{font-size:1.16em}h4{font-size:1em}h5{font-size:.83em}h6{font-size:.7em}p{margin:0 0 1em;padding:0 .2em}.t-marker{display:none;}.t-paste-container{;left:-10000px;width:1px;height:1px;overflow:hidden}ul,ol{padding-left:2.5em}a{color:#00a}code, pre{font-size:1.23em}<?xml version="1.0" encoding="utf-8"?>
    <!--
      For more information on how to configure your ASP.NET application, please visit
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->
    <configuration>
      <system.diagnostics>
        <trace>
          <listeners>
            <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
              name="AzureDiagnostics">
              <filter />
            </add>
          </listeners>
        </trace>
      </system.diagnostics>
      <appSettings>
        <add key="webpages:Version" value="2.0.0.0" />
        <add key="webpages:Enabled" value="false" />
        <add key="PreserveLoginUrl" value="true" />
        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
        <add key="mapsengine" value="https://mapsengine.google.com/map/u/0/embed?mid={0}" />
        <add key="rssfeed" value="http://connect.garmin.com/feed/rss/activities?feedname=Garmin%20Connect%C2%A0-%20ArtoisVTT{0}" />
      </appSettings>
    
      <connectionStrings>
        <!-- ** ** ** ** ** ** local ** ** ** ** ** ** -->
        <add name="ApplicationServices" connectionString="Data Source=.\INSTANCE;AttachDbFilename='D:\MaDB.MDF';Integrated Security=True;Connect Timeout=30"/>
        <add name="Entities" connectionString="metadata=res://*/DataModel.Model1.csdl|res://*/DataModel.Model1.ssdl|res://*/DataModel.Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\INSTANCE;initial catalog=D:\MaDB.MDF;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
          
       </connectionStrings>
    
      <system.web>
        <httpRuntime targetFramework="4.5.1" />
        <compilation debug="true" targetFramework="4.5.1" />
        
        <authentication mode="Forms">
          <forms loginUrl="~/Account/LogOn" timeout="2880" />
        </authentication>
        <membership>
          
          <providers>
            <clear />
            <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
          </providers>
        </membership>
        <profile>
          <providers>
            <clear />
            <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
          </providers>
        </profile>
        <roleManager enabled="true">
          <providers>
            <clear />
            <add connectionStringName="ApplicationServices" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" />
            <add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" />
          </providers>
        </roleManager>
            
        <pages>
          <namespaces>
            <add namespace="System.Web.Helpers" />
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Routing" />
            <add namespace="System.Web.WebPages" />
          </namespaces>
        </pages>
      </system.web>
    
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <handlers>
          <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
          <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
          <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
          <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
          <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
          <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
        </handlers>
      </system.webServer>
    
      <system.net>
        <defaultProxy enabled="false" useDefaultCredentials="false" />
      </system.net>
    
    </configuration>
    
    
    Merci de votre aide
    NauD
    jeudi 12 juin 2014 12:32
  • Je dirais de vérifier la config Proxy :
        <defaultProxy enabled="false" useDefaultCredentials="false" />
    Essayez de l'exécuter sans cette option.

    Bien cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    vendredi 13 juin 2014 07:22
  • Ce qui me donne l'exception suivante :

    "An exception occurred during a WebClient request."}
        [System.Net.WebException]: {"An exception occurred during a WebClient request."}
        _className: null
        _data: {System.Collections.ListDictionaryInternal}
        _dynamicMethods: null
        _exceptionMethod: null
        _exceptionMethodString: null
        _helpURL: null
        _HResult: -2146233079
        _innerException: {"Error creating the Web Proxy specified in the 'system.net/defaultProxy' configuration section."}
        _ipForWatsonBuckets: 0
        _message: "An exception occurred during a WebClient request."
        _remoteStackIndex: 0
        _remoteStackTraceString: null
        _safeSerializationManager: {System.Runtime.Serialization.SafeSerializationManager}
        _source: null
        _stackTrace: {sbyte[96]}
        _stackTraceString: null
        _watsonBuckets: {byte[5616]}
        _xcode: -532462766
        _xptrs: 0
        Data: {System.Collections.ListDictionaryInternal}
        HelpLink: null
        HResult: -2146233079
        InnerException: {"Error creating the Web Proxy specified in the 'system.net/defaultProxy' configuration section."}
        IPForWatsonBuckets: 0
        IsTransient: false
        Message: "An exception occurred during a WebClient request."
        RemoteStackTrace: null
        Source: "System"
        StackTrace: "   at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)\r\n   at System.Net.WebClient.DownloadString(Uri address)\r\n   at System.Net.WebClient.DownloadString(String address)\r\n   at ArtoisVttV2.Controllers.ActivityController.Index() in c:\\Users\\a.dezouter\\Documents\\Visual Studio 2012\\Projects\\ArtoisVTT_V2\\ArtoisVttV2\\ArtoisVttV2\\Controllers\\ActivityController.cs:line 38"
        TargetSite: {Byte[] DownloadDataInternal(System.Uri, System.Net.WebRequest ByRef)}
        WatsonBuckets: {byte[5616]}

    vendredi 13 juin 2014 09:32
  • Il essaye de créer toujours un Proxy.
    Essayez de supprimer (pour un test) tout le :
    <system.net>
        <defaultProxy enabled="false" useDefaultCredentials="false" />
      </system.net>
    Avec IE si vous le configurez de ne pas utiliser un Proxy, vous pouvez ouvrir le lien?

    Bien cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    vendredi 13 juin 2014 09:40
  • J'obtiens la même exception.
    Lorsque j'ouvre le lien dans IE il fonctionne

    vendredi 13 juin 2014 09:46
  • Il y a un proxy dans la config d’IE?
    J'espère bien que vous affichez la page à partir de votre ordinateur, pas un autre serveur Web.

    Bien cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    vendredi 13 juin 2014 11:41
  • Non il n'y a aucun proxy
    mardi 17 juin 2014 09:19