System.Net.WebPermission.AddPermission C# (CSharp) Method

AddPermission() public method

public AddPermission ( NetworkAccess access, Regex uriRegex ) : void
access NetworkAccess
uriRegex System.Text.RegularExpressions.Regex
return void
        public void AddPermission(NetworkAccess access, Regex uriRegex) {
            if (uriRegex == null) {
                throw new ArgumentNullException("uriRegex");
            }

            if (m_noRestriction)
            {
                return;
            }

            if (uriRegex.ToString() == MatchAll)
            {
                if (!m_UnrestrictedConnect && (access & NetworkAccess.Connect) != 0)
                {
                    m_UnrestrictedConnect = true;
                    m_connectList.Clear();
                }
                if (!m_UnrestrictedAccept && (access & NetworkAccess.Accept) != 0)
                {
                    m_UnrestrictedAccept = true;
                    m_acceptList.Clear();
                }
                return;
            }

            AddAsPattern(access, new DelayedRegex(uriRegex));
        }

Same methods

WebPermission::AddPermission ( NetworkAccess access, String uriString ) : void
WebPermission::AddPermission ( NetworkAccess access, Uri uri ) : void

Usage Example

示例#1
0
/*
 *      public bool ConnectAll
 *      {
 *          get
 *          {
 *              return m_connect is bool ? (bool) m_connect : false;
 *          }
 *
 *          set
 *          {
 *              if (m_connect != null)
 *              {
 *                  throw new ArgumentException(SR.GetString(SR.net_perm_attrib_multi, "ConnectAll", value), "value");
 *              }
 *              m_connect = value;
 *          }
 *      }
 *
 *      public bool AcceptAll
 *      {
 *          get
 *          {
 *              return m_accept is bool ? (bool) m_accept : false;
 *          }
 *
 *          set
 *          {
 *              if (m_accept != null)
 *              {
 *                  throw new ArgumentException(SR.GetString(SR.net_perm_attrib_multi, "AcceptAll", value), "value");
 *              }
 *              m_accept = value;
 *          }
 *      }
 */

        public override IPermission CreatePermission()
        {
            WebPermission perm = null;

            if (Unrestricted)
            {
                perm = new WebPermission(PermissionState.Unrestricted);
            }
            else
            {
                NetworkAccess access = (NetworkAccess)0;
                if (m_connect is bool)
                {
                    if ((bool)m_connect)
                    {
                        access |= NetworkAccess.Connect;
                    }
                    m_connect = null;
                }
                if (m_accept is bool)
                {
                    if ((bool)m_accept)
                    {
                        access |= NetworkAccess.Accept;
                    }
                    m_accept = null;
                }
                perm = new WebPermission(access);
                if (m_accept != null)
                {
                    if (m_accept is DelayedRegex)
                    {
                        perm.AddAsPattern(NetworkAccess.Accept, (DelayedRegex)m_accept);
                    }
                    else
                    {
                        perm.AddPermission(NetworkAccess.Accept, (string)m_accept);
                    }
                }
                if (m_connect != null)
                {
                    if (m_connect is DelayedRegex)
                    {
                        perm.AddAsPattern(NetworkAccess.Connect, (DelayedRegex)m_connect);
                    }
                    else
                    {
                        perm.AddPermission(NetworkAccess.Connect, (string)m_connect);
                    }
                }
            }
            return(perm);
        }
All Usage Examples Of System.Net.WebPermission::AddPermission