Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este elemento define o tipo que o ambiente de alojamento de serviços instancia para um determinado transporte. Se este elemento estiver vazio, é usado o tipo padrão. Este elemento só pode ser usado nos ficheiros de configuração ao nível da aplicação ou da máquina.
<configuração>
<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 booleano que indica se o modo de compatibilidade ASP.NET foi ativado para a aplicação atual. A predefinição é false.Quando este atributo é definido para true, os pedidos para os serviços da Windows Communication Foundation (WCF) fluem através do pipeline ASP.NET HTTP, e a comunicação por protocolos não HTTP é proibida. Para mais informações, consulte Serviços e ASP.NET WCF. |
| minFreeMemoryPercentageToActivateService | Um inteiro que especifica a quantidade mínima de memória livre que deve estar disponível para o sistema, antes de um serviço WCF poder ser ativado. Atenção: Especificar este atributo juntamente com a confiança parcial no ficheiro web.config de um serviço WCF resultará em um SecurityException quando o serviço é executado. |
| multipleSiteBindingsEnabled | Um valor booleano que especifica se múltiplas ligações IIS por site estão ativadas. O IIS consiste em sites web, que são contentores para aplicações virtuais que contêm diretórios virtuais. A aplicação num site pode ser acedida através de uma ou mais ligações IIS. Uma ligação IIS fornece duas informações específicas: um protocolo de ligação e informação de ligação. O protocolo de ligação define o esquema sobre o qual ocorre a comunicação, e a informação de ligação é a informação utilizada para aceder ao site. Um exemplo de protocolo de binding pode ser o HTTP, enquanto a informação de binding pode conter um endereço IP, porta, cabeçalho do host, etc. O IIS suporta a especificação de múltiplas ligações IIS por site, o que resulta em múltiplos endereços base por esquema. No entanto, um serviço da Windows Communication Foundation (WCF) alojado num site permite ligar apenas a um baseAddress por esquema. Para permitir múltiplas ligações IIS por site para um serviço Windows Communication Foundation (WCF), defina este atributo para true. Note que a ligação múltipla de sites é suportada apenas para o protocolo HTTP. O endereço dos endpoints no ficheiro de configuração precisa de ser um URI completo. |
Elementos filho
| Elemento | Description |
|---|---|
| <BaseAddressPrefixFilters> | Uma coleção de elementos de configuração que especificam filtros prefixos para os endereços base usados pelo anfitrião do serviço. |
| <serviçoAtivações> | Uma secção de configuração que descreve as definições de ativação. |
| <transportConfigurationTypes> | Um conjunto de elementos de configuração que identificam o tipo de um determinado transporte. |
Elementos Principais
| Elemento | Description |
|---|---|
| ServiceModel | O elemento raiz de todos os elementos de configuração do Windows Communication Foundation (WCF). |
Observações
Por defeito, os serviços WCF executam lado a lado com ASP.NET em Domínios de Aplicação alojados (AppDomain). Embora o WCF e o ASP.NET possam coexistir no mesmo AppDomain, os pedidos WCF não são processados pelo ASP.NET HTTP Pipeline por defeito. Como resultado, vários elementos da plataforma de aplicação ASP.NET não estão disponíveis para os serviços WCF. Estes incluem
ASP.NET Autorização de Ficheiro/URL
ASP.NET Imitação
Estado de Sessão baseado em cookies
HttpContext.Current
Extensibilidade do Pipeline via HttpModule personalizado
Se os seus serviços WCF precisarem de funcionar no contexto ASP.NET e comunicarem apenas via HTTP, pode usar o modo de compatibilidade ASP.NET do WCF. Este modo é ativado quando o aspNetCompatibilityEnabled atributo está definido para true ao nível da aplicação. As implementações de serviços devem declarar a sua capacidade de correr em modo de compatibilidade usando a AspNetCompatibilityRequirementsAttribute classe. Quando o modo de compatibilidade está ativado,
ASP.NET A Autorização de Ficheiro/URL é aplicada antes da autorização WCF. Uma decisão de autorização baseia-se na identidade ao nível de transporte do pedido. As identidades ao nível da mensagem são ignoradas.
As operações de serviço WCF começam a ser executadas no contexto de ASP.NET personificação. Se tanto ASP.NET personificação como WCF estiverem ativadas para um serviço específico, aplica-se o contexto de personificação WCF.
O HttpContext.Current pode ser usado a partir do código de serviço WCF, e os serviços são impedidos de expor endpoints não HTTP.
Os pedidos WCF são processados pelo pipeline ASP.NET. Os HttpModules configurados para agir sobre pedidos recebidos também podem processar pedidos WCF. Estes podem incluir componentes ASP.NET plataforma (por exemplo, SessionStateModule), bem como módulos personalizados de terceiros.
Example
O exemplo de código seguinte mostra como ativar o Modo de Compatibilidade ASP.
Código
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>