Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esse elemento define o tipo que o ambiente de hospedagem do serviço instancia para um transporte específico. Se esse elemento estiver vazio, o tipo padrão será usado. Esse elemento só pode ser usado nos arquivos de configuração no nível do aplicativo ou do computador.
<configuration>
<system.serviceModel>
<serviceHostingEnvironment>
Sintaxe
<serviceHostingEnvironment aspNetCompatibilityEnabled="Boolean"
minFreeMemoryPercentageToActivateService="Integer"
multipleSiteBindingsEnabled="Boolean">
<baseAddressPrefixFilters>
<add prefix="string" />
</baseAddressPrefixFilters>
<serviceActivations>
<add factory="String"
service="String" />
</serviceActivations>
<transportConfigurationTypes>
<add name="String"
transportConfigurationType="String" />
</transportConfigurationTypes>
</serviceHostingEnvironment>
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Attributes
| Attribute | Description |
|---|---|
| Aspnetcompatibilityenabled | Um valor booliano que indica se o modo de compatibilidade ASP.NET foi ativado para o aplicativo atual. O padrão é false.Quando esse atributo é definido como true, as solicitações para os serviços do WCF (Windows Communication Foundation) fluem por meio do pipeline HTTP ASP.NET e a comunicação por protocolos não HTTP é proibida. Para obter mais informações, consulte WCF Services e ASP.NET. |
| minFreeMemoryPercentageToActivateService | Um inteiro que especifica a quantidade mínima de memória livre que deve estar disponível para o sistema, antes que um serviço WCF possa ser ativado. Cuidado: Especificar esse atributo juntamente com a confiança parcial no arquivo web.config de um serviço WCF resultará em um SecurityException momento em que o serviço é executado. |
| multipleSiteBindingsEnabled | Um valor booliano que especifica se várias associações IIS por site estão habilitadas. O IIS consiste em sites da Web, que são contêineres para aplicativos virtuais que contêm diretórios virtuais. O aplicativo em um site pode ser acessado por meio de uma ou mais associações do IIS. Uma associação do IIS fornece duas informações: um protocolo de associação e informações de associação. O protocolo de associação define o esquema sobre o qual a comunicação ocorre e as informações de associação são as informações usadas para acessar o site. Um exemplo de um protocolo de associação pode ser HTTP, enquanto as informações de associação podem conter um endereço IP, porta, cabeçalho de host etc. O IIS dá suporte à especificação de várias associações do IIS por site, o que resulta em vários endereços base por esquema. No entanto, um serviço WCF (Windows Communication Foundation) hospedado em um site permite a associação a apenas um baseAddress por esquema. Para habilitar várias associações IIS por site para um serviço WCF (Windows Communication Foundation), defina esse atributo como true. Observe que a associação de vários sites tem suporte apenas para o protocolo HTTP. O endereço dos pontos de extremidade no arquivo de configuração precisa ser um URI completo. |
Elementos filho
| Elemento | Description |
|---|---|
| <baseAddressPrefixFilters> | Uma coleção de elementos de configuração que especificam filtros de prefixo para os endereços base usados pelo host de serviço. |
| <serviceActivations> | Uma seção de configuração que descreve as configurações de ativação. |
| <transportConfigurationTypes> | Uma coleção de elementos de configuração que identificam o tipo de um transporte específico. |
Elementos pai
| Elemento | Description |
|---|---|
| serviceModel | O elemento raiz de todos os elementos de configuração do WCF (Windows Communication Foundation). |
Observações
Por padrão, os serviços do WCF são executados lado a lado com ASP.NET em Domínios de Aplicativo hospedados (AppDomain). Embora o WCF e o ASP.NET possam coexistir no mesmo AppDomain, as solicitações do WCF não são processadas pelo pipeline HTTP ASP.NET por padrão. Como resultado, vários elementos da plataforma de aplicativos ASP.NET não estão disponíveis para serviços do WCF. Estes incluem
Autorização de arquivo/URL do ASP.NET
representação ASP.NET
Estado da sessão baseada em cookie
HttpContext.Current
Extensibilidade de pipeline por meio de HttpModule personalizado
Se os serviços do WCF precisarem funcionar no contexto ASP.NET e se comunicar somente por HTTP, você poderá usar o modo de compatibilidade ASP.NET do WCF. Esse modo é ativado quando o aspNetCompatibilityEnabled atributo é definido true no nível do aplicativo. As implementações de serviço devem declarar sua capacidade de execução no modo de compatibilidade usando a AspNetCompatibilityRequirementsAttribute classe. Quando o modo de compatibilidade estiver habilitado,
ASP.NET Autorização de Arquivo/URL é imposta antes da autorização do WCF. Uma decisão de autorização baseia-se na identidade de nível de transporte da solicitação. As identidades no nível da mensagem são ignoradas.
As operações de serviço do WCF começam a ser executadas no contexto de representação ASP.NET. Se ASP.NET representação e a representação do WCF estiverem habilitadas para um serviço específico, o contexto de representação do WCF se aplicará.
HttpContext.Current pode ser usado do código de serviço WCF e os serviços são impedidos de expor pontos de extremidade não HTTP.
As solicitações do WCF são processadas pelo pipeline de ASP.NET. HttpModules que foram configurados para atuar em solicitações de entrada também podem processar solicitações do WCF. Isso pode incluir ASP.NET componentes de plataforma (por exemplo, SessionStateModule), bem como módulos personalizados de terceiros.
Example
O exemplo de código a seguir mostra como habilitar o Modo de Compatibilidade do ASP.
Code
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>