De acordo com a documentação da IBM , o mq é padronizado como 1414, assim você não poderá ter um site e mq usando a mesma porta. (A menos que eu esteja entendendo mal sua pergunta.)
Quando configuro o IIS para executar um site na porta 1414, recebo o seguinte erro:
--------------------------- Internet Information Services (IIS) Manager
--------------------------- The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020)
No entanto, como de acordo com netstat
, a porta não está em uso.
Completamente além do IIS, eu escrevi um programa de teste (apenas para abrir a porta e testá-lo):
TcpListener tcpListener;
tcpListener = new TcpListener(IPAddress.Any, port);
try
{
tcpListener.Start();
Console.WriteLine("Press \"q\" key to quit.");
ConsoleKeyInfo key;
do
{
key = Console.ReadKey();
} while (key.KeyChar != 'q');
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
tcpListener.Stop();
O resultado foi uma exceção e a seguinte ex.Mensagem:
An attempt was made to access a socket in a way forbidden by its access permissions
A porta estava disponível, mas suas "permissões de acesso" não estão me permitindo acesso. Isso permanece depois de várias reinicializações.
A porta não está reservada ou em uso, tanto quanto eu sei e enquanto o IIS diz que está em uso, netstat e meu programa de teste dizem que não é e meu programa de teste recebe o erro que eu não tenho permissão para acessar a porta . O programa de teste correu elevado. O site do IIS está executando o MQSeries, mas o ouvinte do MQ também não pode iniciar na porta 1414 devido a esse problema. Uma pesquisa rápida do meu registro não encontrou nada de interessante para a porta 1414.
O que são permissões de acesso de soquete e como posso corrigir o meu para permitir o acesso?
Atualização: Saída do netstat para a porta 1414.
C:\Windows\system32>netstat -ban|findstr 1414
C:\Windows\system32>
De acordo com a documentação da IBM , o mq é padronizado como 1414, assim você não poderá ter um site e mq usando a mesma porta. (A menos que eu esteja entendendo mal sua pergunta.)
O erro acima está chegando porque a porta padrão 8080 não está atribuída ao sistema. Portanto, o site padrão no gerenciador do IIS não pode ser iniciado. Para resolver o erro acima, eu segui os passos abaixo e funcionou para mim.
Passo 1 - Vá correr, digite cmd, o prompt de comando irá aparecer.
Etapa 2 - Precisamos descobrir qual processo está usando a porta padrão 8080. Para encontrar esse tipo, digite o comando abaixo em seu prompt de comando. Netstat -ano
Etapa 3 - Como na tela acima, a porta 8080 está sendo usada pelo processo 3152. Agora, precisamos localizar qual aplicativo está designado para o ID de processo 3152.
Digite tasklist /fi “PID eq 3152”
em seu prompt de comando e veja o resultado.
Etapa 4 - Inicie seu site padrão no gerenciador do IIS. Vai funcionar.
Para mais detalhes, consulte aqui