Como classificar um compartilhamento em um servidor como rede local (para evitar loadFromRemoteSources)

0

Eu tenho um aplicativo (.Net 4.5.1) que geralmente é executado a partir de compartilhamentos de rede (por exemplo, \server\someshare\application.exe ).

Infelizmente, isso nem sempre funciona, a menos que eu adicione a linha <loadFromRemoteSources enabled="true"/> para o arquivo de configuração do aplicativo.

A documentação do msdn diz:

In the .NET Framework 4.5, assemblies on local network shares are run as full trust by default; you do not have to enable the element.

Portanto, o problema parece ser que o servidor não é considerado como estando no "local network" .

Procurei por algum tempo tentando descobrir como um servidor é classificado como "rede local", mas não consegui encontrar nada conclusivo. Alguns sites dizem que devo adicionar o servidor aos "sites confiáveis" nas configurações da Internet, mas isso não ajudou quando tentei (e também parece estranho adicioná-lo lá, já que normalmente requer um prefixo https: //). / p>

Outra coisa confusa na documentação do msdn é a seguinte:

If enabled is not set to true, an exception is thrown under the following conditions:
[...]
* The assembly being loaded is not from the MyComputer zone.

Então, resumindo: Quais são os requisitos para um servidor estar no local netwwork ? É algo configurado no servidor, no cliente ou no domínio?

(Tanto o servidor quanto o cliente estão no mesmo domínio e o usuário está logado com uma conta de domínio)

    
por adrianm 03.04.2015 / 16:10

1 resposta

0

Acho que tudo depende do método de acesso, ou seja, se o cliente estiver executando seu aplicativo por meio de compartilhamento de rede Rede local, por exemplo,

\server\someshare\application.exe

então isso é considerado como uma rede local.

Por outro lado, se o seu aplicativo estiver sendo acessado via HTTP, ele estará sendo acessado pela Web, por exemplo, link . Todas as referências na documentação em torno das zonas, incluindo a zona "MyComputer", referem-se ao acesso à web.

Observe que, se seu aplicativo for copiado para o compartilhamento de rede local da Internet, ele será sinalizado pelo Windows como um aplicativo da Web e, portanto, você poderá estar passando por esse caso. Aqui está a citação direta do MSDN:

If an application has been copied from the web, it is flagged by Windows as being a web application, even if it resides on the local computer. You can change that designation by changing the file properties, or you can use the element to grant the assembly full trust

    
por 03.04.2015 / 16:50