여러 ServiceHost에 동일한 서비스 인스턴스를 제공해도 안전합니까?

에브 게니 베레조프스키

다음과 같은 서비스가 있다고 가정 해 보겠습니다.

[ServiceBehavior(
    InstanceContextMode = InstanceContextMode.Single,
    ConcurrencyMode = ConcurrencyMode.Multiple
)]
class MyService { ... }

그러면 단일 인스턴스를 여러 ServiceHosts 에 제공해도 됩니까? 처럼:

var serviceInstance = new MyService();
var host1 = new ServiceHost(serviceInstance);
host1.AddServiceEndpoint(...);
var host2 = new ServiceHost(serviceInstance);
...

기존 코드베이스에서이 서비스는 단일 ServiceHost에서만 사용됩니다. 그러나이 ConcurrencyMode있다 Multiple, 즉,

서비스 인스턴스는 다중 스레드입니다. 동기화가 보장되지 않습니다. 다른 스레드는 언제든지 서비스 개체를 변경할 수 있으므로 항상 동기화 및 상태 일관성을 처리해야합니다. 사용 중

이는 이미 스레드로부터 안전해야한다는 것을 의미하며 스레드 안전 각도에서 여러 ServiceHost에 제공하면 괜찮아 보입니다.

다른 이의가 있습니까?

라두 파스칼

서비스 수명 동안 서비스 상태를 변경하는 변수를 유지하지 않는 한 아무런 문제가 없습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

여러 서비스에서 동일한 Zookeeper 인스턴스를 사용할 수 있습니까?

분류에서Dev

여러 Webpack 팩에서 동일한 jQuery 인스턴스를 공유하는 방법은 무엇입니까?

분류에서Dev

WCF 성능 : IIS에 동일한 서비스의 여러 인스턴스 (별도의 웹 사이트)가있는 것이 합리적입니까?

분류에서Dev

Spring Batch jobOperator-동일한 XML 파일에서 작업의 여러 동시 인스턴스를 어떻게 제어합니까?

분류에서Dev

동일한 호스트에서 Swaggerize의 여러 인스턴스를 실행하려면 어떻게해야합니까?

분류에서Dev

여러 클래스가 다른 클래스의 동일한 인스턴스에 액세스해야합니다.

분류에서Dev

여러 임시 인스턴스를 동일한 데이터베이스에서 지원할 수 있습니까?

분류에서Dev

동일한 클래스의 이전 인스턴스에서 인스턴스를 호출하려면 어떻게해야합니까?

분류에서Dev

동일한 소스에서 C 전처리기를 여러 번 실행하는 것이 안전합니까?

분류에서Dev

Interface Builder에서 동일한 클래스의 여러 객체를 인스턴스화하면 공유 속성이 생성됩니다.

분류에서Dev

서버에 동일한 Windows 서비스의 여러 인스턴스 설치

분류에서Dev

Gitlab.com에서 자체 호스팅 비공개 Gitlab 인스턴스로 저장소를 전송하는 동안 오류가 발생합니까?

분류에서Dev

Evince에서 동일한 문서의 여러 인스턴스를 어떻게 열 수 있습니까?

분류에서Dev

JavaScript에서 단일 클래스의 여러 인스턴스의 경우 함수가 모든 인스턴스에 대해 공간을 차지합니까?

분류에서Dev

Ada + PolyORB : 동일한 RCI 유닛의 여러 인스턴스를 가질 수 있고 코드에서 특정 인스턴스를 호출 할 수 있습니까?

분류에서Dev

dbus로 동일한 애플리케이션의 여러 인스턴스를 제어합니까?

분류에서Dev

동일한 LengthFieldBasedFrameDecoder 인스턴스를 여러 채널에서 사용할 수 있습니까?

분류에서Dev

여러 배치 파일이 동일한 공유 / 전역 변수에 액세스 / 설정되어 스레드로부터 안전합니까?

분류에서Dev

동일한 클래스에서 여러 객체를 인스턴스화 할 때 코드가 실행되지 않지만 동일한 코드를 사용하여 중복 클래스에서 객체를 인스턴스화 할 때 작동합니다.

분류에서Dev

소스가 여러 개인 Magento 동일한 제품은 여러 공급 업체에 비용이 들지만 판매 가격은 동일합니까?

분류에서Dev

그놈 계산기의 여러 인스턴스를 동시에 얻으려면 어떻게해야합니까?

분류에서Dev

하나의 Postgres 인스턴스에서 전체 데이터베이스를 복제하여 다른 인스턴스에서 호스팅되는 데이터베이스의 일부가 되려면 어떻게해야합니까?

분류에서Dev

Wix : 여러 인스턴스가 이전 인스턴스를 제거합니다.

분류에서Dev

Windows에서 배치 파일의 여러 인스턴스를 동시에 실행합니까?

분류에서Dev

CucumberJS의 여러 단계 정의 파일에서 내 World 인스턴스를 공유하려면 어떻게해야합니까?

분류에서Dev

동일한 서버에 배치 된 여러 Ear 간의 '서비스'제공

분류에서Dev

C # 여러 클래스가 다른 클래스의 동일한 인스턴스를 공유하도록합니다.

분류에서Dev

동일한 Docker가 여러 폴더에서 서비스를 작성합니다.

분류에서Dev

Android에서 동일한 앱의 여러 인스턴스

Related 관련 기사

  1. 1

    여러 서비스에서 동일한 Zookeeper 인스턴스를 사용할 수 있습니까?

  2. 2

    여러 Webpack 팩에서 동일한 jQuery 인스턴스를 공유하는 방법은 무엇입니까?

  3. 3

    WCF 성능 : IIS에 동일한 서비스의 여러 인스턴스 (별도의 웹 사이트)가있는 것이 합리적입니까?

  4. 4

    Spring Batch jobOperator-동일한 XML 파일에서 작업의 여러 동시 인스턴스를 어떻게 제어합니까?

  5. 5

    동일한 호스트에서 Swaggerize의 여러 인스턴스를 실행하려면 어떻게해야합니까?

  6. 6

    여러 클래스가 다른 클래스의 동일한 인스턴스에 액세스해야합니다.

  7. 7

    여러 임시 인스턴스를 동일한 데이터베이스에서 지원할 수 있습니까?

  8. 8

    동일한 클래스의 이전 인스턴스에서 인스턴스를 호출하려면 어떻게해야합니까?

  9. 9

    동일한 소스에서 C 전처리기를 여러 번 실행하는 것이 안전합니까?

  10. 10

    Interface Builder에서 동일한 클래스의 여러 객체를 인스턴스화하면 공유 속성이 생성됩니다.

  11. 11

    서버에 동일한 Windows 서비스의 여러 인스턴스 설치

  12. 12

    Gitlab.com에서 자체 호스팅 비공개 Gitlab 인스턴스로 저장소를 전송하는 동안 오류가 발생합니까?

  13. 13

    Evince에서 동일한 문서의 여러 인스턴스를 어떻게 열 수 있습니까?

  14. 14

    JavaScript에서 단일 클래스의 여러 인스턴스의 경우 함수가 모든 인스턴스에 대해 공간을 차지합니까?

  15. 15

    Ada + PolyORB : 동일한 RCI 유닛의 여러 인스턴스를 가질 수 있고 코드에서 특정 인스턴스를 호출 할 수 있습니까?

  16. 16

    dbus로 동일한 애플리케이션의 여러 인스턴스를 제어합니까?

  17. 17

    동일한 LengthFieldBasedFrameDecoder 인스턴스를 여러 채널에서 사용할 수 있습니까?

  18. 18

    여러 배치 파일이 동일한 공유 / 전역 변수에 액세스 / 설정되어 스레드로부터 안전합니까?

  19. 19

    동일한 클래스에서 여러 객체를 인스턴스화 할 때 코드가 실행되지 않지만 동일한 코드를 사용하여 중복 클래스에서 객체를 인스턴스화 할 때 작동합니다.

  20. 20

    소스가 여러 개인 Magento 동일한 제품은 여러 공급 업체에 비용이 들지만 판매 가격은 동일합니까?

  21. 21

    그놈 계산기의 여러 인스턴스를 동시에 얻으려면 어떻게해야합니까?

  22. 22

    하나의 Postgres 인스턴스에서 전체 데이터베이스를 복제하여 다른 인스턴스에서 호스팅되는 데이터베이스의 일부가 되려면 어떻게해야합니까?

  23. 23

    Wix : 여러 인스턴스가 이전 인스턴스를 제거합니다.

  24. 24

    Windows에서 배치 파일의 여러 인스턴스를 동시에 실행합니까?

  25. 25

    CucumberJS의 여러 단계 정의 파일에서 내 World 인스턴스를 공유하려면 어떻게해야합니까?

  26. 26

    동일한 서버에 배치 된 여러 Ear 간의 '서비스'제공

  27. 27

    C # 여러 클래스가 다른 클래스의 동일한 인스턴스를 공유하도록합니다.

  28. 28

    동일한 Docker가 여러 폴더에서 서비스를 작성합니다.

  29. 29

    Android에서 동일한 앱의 여러 인스턴스

뜨겁다태그

보관