Exemple #1
0
 /// <summary>
 /// 获取Xml结果
 /// </summary>
 /// <param name="messageHandler"></param>
 /// <param name="url"></param>
 /// <param name="token"></param>
 /// <param name="xml"></param>
 /// <param name="timeOut">代理请求超时时间(毫秒)</param>
 /// <returns></returns>
 public static string RequestXml(this IMessageHandlerBase messageHandler, string url, string token, string xml, int timeOut = AGENT_TIME_OUT)
 {
     if (messageHandler != null)
     {
         messageHandler.UsedMessageAgent = true;
     }
     using (MemoryStream ms = new MemoryStream())
     {
         //这里用ms模拟Request.InputStream
         using (StreamWriter sw = new StreamWriter(ms))
         {
             sw.Write(xml);
             sw.Flush();
             sw.BaseStream.Position = 0;
             return(messageHandler.RequestXml(url, token, sw.BaseStream, timeOut: timeOut));
         }
     }
 }
Exemple #2
0
        /// <summary>
        /// 对接 NeuChar 平台,获取Xml结果,使用WeiWeiHiKey对接
        /// WeiWeiHiKey的获取方式请看:
        /// </summary>
        /// <param name="messageHandler"></param>
        /// <param name="weiweihiKey"></param>
        /// <param name="xml"></param>
        /// <param name="neucharDomainName"></param>
        /// <param name="timeOut">代理请求超时时间(毫秒)</param>
        /// <returns></returns>
        public static string RequestNeuCharXml(this IMessageHandlerBase messageHandler, string weiweihiKey, string xml, string neucharDomainName = "www.neuchar.com", int timeOut = AGENT_TIME_OUT)
        {
            if (messageHandler != null)
            {
                messageHandler.UsedMessageAgent = true;
            }
            var url = "https://" + neucharDomainName + "/App/Weixin?neuCharKey=" + weiweihiKey;//官方地址

            using (MemoryStream ms = new MemoryStream())
            {
                //这里用ms模拟Request.InputStream
                using (StreamWriter sw = new StreamWriter(ms))
                {
                    sw.Write(xml);
                    sw.Flush();
                    sw.BaseStream.Position = 0;
                    return(messageHandler.RequestXml(url, weiweihiKey, sw.BaseStream, timeOut: timeOut));
                }
            }
        }
Exemple #3
0
 /// <summary>
 /// 获取ResponseMessge结果
 /// </summary>
 /// <param name="messageHandler"></param>
 /// <param name="serviceProvider">.NET Core 的 ServiceProvider(.NET Framework 可设为 null)</param>
 /// <param name="autoFillUrlParameters">是否自动填充Url中缺少的参数(signature、timestamp、nonce),默认为 true</param>
 /// <param name="url"></param>
 /// <param name="token"></param>
 /// <param name="xml"></param>
 /// <param name="timeOut">代理请求超时时间(毫秒)</param>
 /// <returns></returns>
 public static IResponseMessageBase RequestResponseMessage(this IMessageHandlerBase messageHandler, IServiceProvider serviceProvider, string url, string token, string xml, bool autoFillUrlParameters = true, int timeOut = AGENT_TIME_OUT)
 {
     return(messageHandler.RequestXml(serviceProvider, url, token, xml, autoFillUrlParameters, timeOut).CreateResponseMessage(messageHandler.MessageEntityEnlightener));
 }
Exemple #4
0
 /// <summary>
 /// 获取ResponseMessge结果
 /// </summary>
 /// <param name="messageHandler"></param>
 /// <param name="url"></param>
 /// <param name="token"></param>
 /// <param name="xml"></param>
 /// <param name="timeOut">代理请求超时时间(毫秒)</param>
 /// <returns></returns>
 public static IResponseMessageBase RequestResponseMessage(this IMessageHandlerBase messageHandler, string url, string token, string xml, int timeOut = AGENT_TIME_OUT)
 {
     return(messageHandler.RequestXml(url, token, xml, timeOut).CreateResponseMessage(messageHandler.MessageEntityEnlightener));
 }
Exemple #5
0
 /// <summary>
 /// 获取ResponseMessge结果
 /// </summary>
 /// <param name="messageHandler"></param>
 /// <param name="autoFillUrlParameters">是否自动填充Url中缺少的参数(signature、timestamp、nonce),默认为 true</param>
 /// <param name="url"></param>
 /// <param name="token"></param>
 /// <param name="stream"></param>
 /// <param name="timeOut">代理请求超时时间(毫秒)</param>
 /// <returns></returns>
 public static IResponseMessageBase RequestResponseMessage(this IMessageHandlerBase messageHandler, string url, string token, Stream stream, bool autoFillUrlParameters = true, int timeOut = AGENT_TIME_OUT)
 {
     return(messageHandler.RequestXml(url, token, stream, autoFillUrlParameters: autoFillUrlParameters, timeOut: timeOut).CreateResponseMessage(messageHandler.MessageEntityEnlightener));
 }