두 가지 조작 만있는 MiniCalc라는 기본 계산기 서비스를 만들었습니다. Add 및 Mul을 실행하고 콘솔 응용 프로그램에서 호스팅합니다. "서비스 참조 추가"로 자체 호스팅 서비스의 프록시를 생성 할 수 없습니다
using(ServiceHost host = new ServiceHost(typeof(MiniCalcService.Service),
new Uri("http://localhost:8091/MiniCalcService")))
{
host.AddServiceEndpoint(typeof(MiniCalcService.IService),
new BasicHttpBinding(),
"Service");
host.Open();
Console.Write("Press ENTER key to terminate the MiniCalcHost . . . ");
}
는 다음 나는 서비스를 사용하는 콘솔 응용 프로그램을 작성 프록시 클래스를 생성하여 수동으로 프록시를 생성 한 후 서비스를 호출하는 ChannelFactory에를 만들었습니다.
EndpointAddress ep = new EndpointAddress("http://localhost:8091/MiniCalcService/Service");
IService proxy = ChannelFactory<IService>.CreateChannel(new BasicHttpBinding(),ep);
내가 제대로 서비스 계약을 호출하고 예상대로 결과를 검색 할 수 있었다.
이제 Add Service Reference
을 사용하여 프록시를 만들고 싶습니다. 내가 추가 서비스 참조 창 I가 없거나 잘못을하고있는 중이 야 무엇
There was an error downloading 'http://localhost:8091/MiniCalcService/Service'.
The request failed with HTTP status 400: Bad Request.
Metadata contains a reference that cannot be resolved: 'http://localhost:8091/MiniCalcService/Service'.
Content Type application/soap+xml; charset=utf-8 was not supported by service http://localhost:8091/MiniCalcService/Service. The client and service bindings may be mismatched.
The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'..
If the service is defined in the current solution, try building the solution and adding the service reference again.
에서 이동을 클릭하면
나는 다음과 같은 오류가?
그것은 당신의 서비스가에 대한 정보를 제공하지에 대한 몇 가지 사용하는 방법의 예를 또는 무언가를 보여줍니다? –
.svc 파일이 없습니다. Service.cs 및 해당 IService.cs 만 만들었습니다. 내 무지하게 신경 쓰지 마시고 .svc 파일이 필요합니다. 우리는 도구를 사용하여 프록시를 생성하고 서비스를 사용하고 싶습니까? – Animesh
한 번도 물어 보지 않은 경우 무식함입니다. 아무도 모든 것을 알지 못합니다. 어떤 점에서는 0부터 시작해야합니다. 내 대답을 보라. –