>백엔드 개발 >PHP 튜토리얼 >WebService 포트 번호 수정

WebService 포트 번호 수정

WBOY
WBOY원래의
2016-08-08 09:28:251710검색

C#에서 웹서비스 인터페이스를 사용할 때 서버로 반환되는 IP 주소에는 포트 번호가 동반됩니다. 하지만 때로는 해당 포트를 사용할 수 없고(예: 전달을 위해 nginx 사용) 서버 측에서 처리해야 합니다(처리 내용은 다음 코드입니다). 또한 구성 파일의 web.config에서 system.web에 항목을 추가해야 합니다.

<webServices>

<프로토콜>

<추가 이름="HttpGet"/>

<추가 이름="HttpPost"/>

<추가 이름="HttpSoap"/>

프로토콜>

<soapExtensionReflectorTypes>

<추가 유형="CommMethod.OuterPortReflector,CommMethod"/>

soapExtensionReflectorTypes>

webServices >

참고: 1. 유형 내용은 클래스 이름과 패키지 이름입니다. 이는 msdn에 있는 사람이 작성한 내용과 다소 다릅니다(버전 문제일 수 있음)(http://blogs.msdn.com/b/kaevans/archive/2005/11/16/493496.aspx).

2. 프로토콜에 내용이 없으면 게시 및 가져오기 요청이 올바르게 인식되지 않을 수 있습니다. (확인해본 적은 없지만 블로그 파크에서 비슷한 문제를 본 적이 있습니다.)

3.stackoverflow 소스 주소: http://stackoverflow.com/questions/1531448/asp-net-web-service-changes-port-on-invoke


코드:

//-------------------------------------- ---------------------
//
// * 저작권(C)
// * 버전 :
// * 작성자 : ying83811
// * 파일명 : OuterPortReflector.cs
// * 기록 : 작성자: ying83811
//

//------------------------------- - --------------
시스템 사용
System.Collections.Generic 사용;
System.Linq 사용;
System.Text 사용;
System.Web.Services.Description 사용;
네임스페이스 Better517Na.KoreaProductInterface.CommMethod
{
///


/// OuterPortReflector 클래스
///

public class OuterPortReflector: SoapExtensionReflector
{
///
                                                                                        gt;
/ // 다시 작성 ReflectDescript
/// & lt;/Summary & GT
공개 재정의 Void ReflectDescription ()
{

// 문제를 설명하기 위해 여기에 포트 번호를 직접 적는 것이 좋습니다. = ReflectionContext.ServiceDescription;
foreach (description.Services의 서비스 서비스)
{
foreach(service.Ports의 포트 포트)
{
               foreach(port.Extensions의 ServiceDescriptionFormatExtension 확장)
                                 ~                                                                                   를 통해       ~                               } Else
{
httpaddressBinding httpbinding = 확장 as httpaddressBinding;
if (httpbinding! = Null) httpbound.Location.replace (Portnum, String.Empty);
                                                            Soap12AddressBinding Soap12Binding = Soap12AddressBinding으로 확장;
                                                                            ~                    바꾸기(portNum, string.Empty);
                                                    
                                                                                         }
🎜> }
}





위 내용은 관련 측면을 포함하여 WebService 포트 번호의 수정 사항을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.