コード例 #1
0
        // Token: 0x060011F4 RID: 4596 RVA: 0x0006CC0C File Offset: 0x0006AE0C
        private void SendProxyLogonRequest()
        {
            ExTraceGlobals.ProxyCallTracer.TraceDebug((long)this.GetHashCode(), "ProxyEventHandler.SendProxyLogonRequest");
            this.proxyLogonAttempts++;
            if (this.proxyLogonAttempts > 2)
            {
                this.asyncResult.Exception = new OwaInvalidOperationException("Both attempts to send the proxy request failed -- the server returned HTTP " + 441 + " (need identity) twice in a row");
                this.asyncResult.CompleteRequest(false);
                return;
            }
            this.proxyLogonRequest = new ProxyLogonRequest();
            SerializedClientSecurityContext serializedContext = SerializedClientSecurityContext.CreateFromOwaIdentity(base.OwaContext.LogonIdentity);

            this.proxyLogonRequest.BeginSend(base.OwaContext, this.OriginalRequest, serializedContext, new AsyncCallback(this.ProxyLogonCallback), this);
        }
コード例 #2
0
        internal void BeginSend(OwaContext owaContext, HttpRequest originalRequest, OwaIdentity identity, CultureInfo culture, string timeZoneKeyName, bool isOptimized, string destination, AsyncCallback callback, object extraData)
        {
            ExTraceGlobals.ProxyCallTracer.TraceDebug((long)this.GetHashCode(), "ProxyLanguagePostRequest.BeginSend");
            StringWriter  stringWriter     = null;
            XmlTextWriter xmlTextWriter    = null;
            string        proxyRequestBody = null;

            try
            {
                stringWriter  = new StringWriter();
                xmlTextWriter = new XmlTextWriter(stringWriter);
                xmlTextWriter.WriteStartElement(ProxyLanguagePostRequest.rootElementName);
                xmlTextWriter.WriteAttributeString(ProxyLanguagePostRequest.localeIdAttributeName, culture.LCID.ToString());
                xmlTextWriter.WriteAttributeString(ProxyLanguagePostRequest.timeZoneKeyNameAttributeName, timeZoneKeyName);
                xmlTextWriter.WriteAttributeString(ProxyLanguagePostRequest.isOptimizedAttributeName, isOptimized ? "1" : "0");
                xmlTextWriter.WriteAttributeString(ProxyLanguagePostRequest.destinationAttributeName, destination);
                SerializedClientSecurityContext serializedClientSecurityContext = SerializedClientSecurityContext.CreateFromOwaIdentity(identity);
                serializedClientSecurityContext.Serialize(xmlTextWriter);
                xmlTextWriter.WriteEndElement();
                stringWriter.Flush();
                proxyRequestBody = stringWriter.ToString();
                ExTraceGlobals.ProxyDataTracer.TraceDebug <int, string, bool>((long)this.GetHashCode(), "Sending xml payload with lcid={0}, tzid={1}, isOptimized={2}", culture.LCID, timeZoneKeyName, isOptimized);
            }
            finally
            {
                if (stringWriter != null)
                {
                    stringWriter.Close();
                }
                if (xmlTextWriter != null)
                {
                    xmlTextWriter.Close();
                }
            }
            base.BeginSend(owaContext, originalRequest, OwaUrl.LanguagePost.GetExplicitUrl(originalRequest), proxyRequestBody, callback, extraData);
        }