IIS 5.1 (WinXP)에 WCF 서비스 (.NET 3.5)를 배포했으며 로컬 컴퓨터에서 액세스 할 수 있습니다. 그러나 로컬 컴퓨터 외부에서는 액세스 할 수 없습니다.로컬 컴퓨터 외부에서 WCF 서비스에 액세스 할 수 없습니다.
<system.serviceModel>
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix="http://222.22.22.222:8072/"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
<behaviors>
<serviceBehaviors>
<behavior name="Parus.ServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://111.1.11.111:8072/AsurReceiveData/Service.svc"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<MyInspector />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="Parus.ServiceBehavior" name="Parus.Service">
<endpoint address="http://222.22.22.222:8072/AsurReceiveData/Service.svc" binding="basicHttpBinding" contract="Parus.IService">
</endpoint>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>
</service>
</services>
<extensions>
<behaviorExtensions>
<add name="MyInspector" type="Parus.MessageInspectorExtension, Parus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</behaviorExtensions>
</extensions>
</system.serviceModel>
컴퓨터의 로컬 IP 주소는 다음과 같습니다 : 111.1.11.111:8072
여기 내 web.config 파일입니다. 컴퓨터의 공용 IP 주소는 222.22.22.222:8072입니다.
내가 한 행동은 무엇입니까? IIS 5.1에 새 TCP 포트를 추가했습니다 (기본 웹 사이트 속성 -> 웹 사이트 탭 -> 고급 버튼 클릭 -> 추가 버튼 클릭 및 새 포트 추가 : 8072).
프로젝트 URL은 다음과 같습니다 : 다음과 같이
http://111.1.11.111:8072/ServiceFolder
서비스는 같습니다
public class Service : IService
{
public const string ReplyAction = "http://222.22.22.222:8072/AsurReceiveData/Message_ReplyAction";
public const string RequestAction = "http://222.22.22.222:8072/AsurReceiveData/Message_RequestAction";
public Message SetData(Message requestXml)
{
using (StreamWriter writer = File.CreateText(@"Path\Body.xml"))
{
writer.WriteLine(requestXml.ToString());
}
Message response = Message.CreateMessage(MessageVersion.Default, ReplyAction, requestXml.ToString());
return response;
}
}
내가 제대로 로컬 및 공용 IP 주소를 사용하는 경우 확실하지 않다. 어쩌면 다른 것일 수도 ...
감사합니다.
왜 아무도 질문에 대답하지 않습니까? – tesicg
어떤 오류가 발생했는지 지정하지 않았지만 가장 먼저 확인해야 할 것은 포트 8072가 방화벽을 통해 허용된다는 것입니다. –
오류 : HTTP 404, 자원을 찾을 수 없습니다. – tesicg