광산의 다른 컴퓨터를 WCF
(수신기)으로 실행되는 전용 Windows 서비스에 연결하는 데 문제가 발생했습니다. 해당 컴퓨터에는 외부 모뎀이 연결되어있어 외부로의 연결을 방해하는 경우가 있지만 컴퓨터는 위에서 언급 한 수신기 서비스를 사용하여 WCF
을 통해 연결해야합니다. WCF는 SMB 프로토콜을 지원합니까? 또는 반드시 TCP를 통해 실행되지 않는 다른 프로토콜?
내가 필요로하는 모든 연결 (다른 컴퓨터 힘든) 내 네트워크 내부, 그리고 내가 착각하고 있지 않다 가정 (Windows 공유 (파일을 복사하는 등 ') 가 작업을 수행 보인다과는 SMB
프로토콜을 사용하기 때문에
TCP
을 실행하지 않는 다른 프로토콜을 사용하여 작동하는 연결을 사용하는 것이 좋습니다. MSDN에서 어떤 도움도 찾을 수 없지만 누군가가 이전에 비슷한 것을 시도해 보았거나 유사한 문제가 발생하여 해결 방법을 찾았습니다.
일부 코드 (제 생각 엔 꽤 일반) :
private const string ServiceEndointURL = "net.tcp://localhost:6789/MyService";
아래에 사용 : IService
가 정의 [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple, UseSynchronizationContext = true)] public class MyApplication : IService
:
[ServiceContract(Name = "MyService")]
public interface IService
{
[OperationContract]
bool HandleMessage(Message message);
}
다른 쪽 ("클라이언트") :
string ListenerURL = "net.tcp://xx.xx.xx.xx:6789/MyService";
ChannelFactory<IService> factory = new ChannelFactory<IService>
(new MyNetBindings(), ListenerURL);
IService channel = l_oFactory.CreateChannel();
((IContextChannel)channel).OperationTimeout = new TimeSpan(0, 1, 1);
편집 : externa l 모뎀이 해당 컴퓨터의 기본 게이트웨이 위치를 차지하고 있습니다. 아마도 연결이 필요하지 않을 수 있습니다. 원본 게이트웨이와 메트릭이 낮은 영구 경로를 수동으로 추가 할 때 다시 작동하는 것처럼 보입니다. 자동으로 해결할 수있는 방법은 없나요?
미리 감사드립니다.
의견을 보내 주셔서 감사합니다. 위키 백과에서 읽은 것처럼 실제로 다른 전송 계층에서 실행될 수 있습니다. 어쩌면 나는 물건을 섞고 있는데, 나의 이해는이 물건에 관해서 깊지 않다. 그러나 실제로 TCP를 통한 WCF는 외부 모뎀을 연결 한 상태에서 다른 컴퓨터로 파일을 복사해도 문제가 없습니다. 나는 왜 그것을 모르고 올바른 방향으로 해결해야할지 모르겠다. 어떻게 해결할 수 있을지 더 많은 아이디어를 얻게되어 기쁘다. 감사합니다. – AndroidNewbie
@AndroidNewbie 질문을하고 WCF 구성, 사용중인 코드 및 오류 세부 정보를 표시해야합니다. – i3arnon
내 질문에 편집 됨 – AndroidNewbie