public override XmlReader Load(int moduleId, int portalId, Hashtable settings) { var xmlsrc = settings[Setting.SourceUrl].DefaultIfNullOrEmpty(); XmlReader responseReader = null; if (!string.IsNullOrEmpty(xmlsrc)) { try { switch (Globals.GetURLType(xmlsrc)) { case TabType.Url: { var paramList = new ParameterController(_providerName).GetParameters(moduleId); paramList.Encoding = GetQueryStringEncoding(settings[Setting.UrlEncoding].DefaultIfNullOrEmpty()); xmlsrc = new TokenReplace().ReplaceEnvironmentTokens(xmlsrc); if (paramList.IsValid()) { xmlsrc += (xmlsrc.IndexOf("?") == -1 ? "?" : "&") + paramList; var useCache = bool.Parse(settings[Setting.EnableCache].DefaultIfNullOrEmpty(bool.FalseString)); var credential = new Credential(settings[Setting.SourceAccount].DefaultIfNullOrEmpty(), settings[Setting.SourcePassWord].DefaultIfNullOrEmpty()); responseReader = GetXmlContent(xmlsrc,credential , useCache); } else { responseReader = NoDataReader("Parameter"); } } break; default: responseReader = NoDataReader("Unsupported Url"); break; } } catch (SecurityException) { throw; } catch (Exception ex) { Exceptions.LogException(ex); responseReader = NoDataReader("Exception"); } } return responseReader; }
private static WebResponse GetDocumentResponse(string url, Credential credential) { var req =credential==null ? Globals.GetExternalRequest(url) : Globals.GetExternalRequest(url,credential.NetworkCredential ); return req.GetResponse(); }
private static string GetCacheKey(string contentUrl,Credential credential) { return string.Format("{0}_{1}", contentUrl, Utils.GetSha256HashCode( credential )); }
/// <summary> /// GetXMLContent loads the xml content from a web resource into an XmlReader. /// </summary> /// <param name = "contentUrl"></param> /// <param name = "credential"></param> /// <param name="useCache"></param> /// <returns>A Xml Reader</returns> private static XmlReader GetXmlContent(string contentUrl, Credential credential , bool useCache) { var cacheKey = GetCacheKey(contentUrl, credential); var args = new CacheItemArgs(cacheKey, 0,CacheItemPriority.Normal, contentUrl, credential ); var doc = useCache ? CBO.GetCachedObject<XmlDocument>(args, GetDocument) : GetDocument(args); return new XmlNodeReader(doc); }
public static string GetSha256HashCode(Credential credential) { var input = credential.UserName+ credential.Password; return GetSha256HashCode( ref input); }
public static string GetSha256HashCode(Credential credential) { var input = credential.UserName + credential.Password; return(GetSha256HashCode(ref input)); }