开发者

Is there an MS Enterprise Library application block for Network Services

So I have a simple service, has some sockets, takes requests sends back some results.

We want to make this a bit more enterprise friendly, allow configuration through Group Policy to be merged with local config, so I stumbled back across the ManageableConfigurationSource.

Now I'm thinking that it would be nice to make a wider use of the Enterprise Library, because it seems a right pain to jump in to it just to use core and the common configuration.

Are there application block(s) that provide "easy" access to a

  • "configurable SSL server" from which to build your networking on top of? Keyword Configurable.
  • ActiveMQ (MSMQ?)
  • WMI

Edit:

What I am primarily interested in is an ability to configure through group policy, a somewhat mass distributed service.

Administrators don't seem to want to go to hundreds of machines and set the IP for the config on each one individually, or the name of the certificate and the store to find it in when it is distributed by group policy.

Sorry about the distraction - The service would use WMI for getting data from the local PC such as performance and events. Not using WMI or MQ as the transport for our custom data. Application blocks for these are of secondary interest.

MS PPT Pres I found helpful based on the answer about using WCF

So there are some application blocks for exception handling and validation with WCF but no network configuration. Seeing The ever so helpfuly named 'Write Less code and play more golf'

  • Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.WCF
  • Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF

Edit:

Say you had a simple config like this you needed to make to 100's of hosts. Why woouldn't I push this common config through group policy rather than modify app.config for each host through some other method?

Sure I can do part of the work and push the certificates into the store through group policy, but I need to distribute to LOTS of hosts, and in some cases hosts may even change role and have policies so changed.

Be it for 1 or many configurations for different policies like dev/test/production.

<client>
    <endPoint address="tcp://Service1:1024" behaviorConfiguration="localhost" />
    <endPoint address="tcp://Service2:1024" behaviorConfiguration="secure-domain1" />
    <endPoint address="tcp://Service3:1099" behaviorConfiguration="secure-domain1" />
    <endPoint address="tcp://Service4:1024" behaviorConfiguration="secure-domain1" />
    <endPoint address="tcp://Service5:1024" behaviorConfiguration="secure-domain2" />
    <endPoint address="tcp://Service6:1048" behaviorConfiguration="secure-domain2" />
    <endPoint address="tcp://Service7:1024" behaviorConfiguration="secure-domain2" />
</client>
<behaviors>
    <behavior name="secure-domain1">
        <clientCredentials>
            <clientCertificate storeLocation="CurrentUser" storeName="My" x509FindType="FindBySubjectName" findValue="Domain1"/>
            <serviceCertificate>
                <authentication certificateValidationMode="ChainTrust" trustedStoreLocation="LocalMachine"/>
            </serviceCertificate>
        </clientCredentials>
        <networking shortRetryInterval="300" shortRetryAttempts="5" longRetryInterval="1800"/>
    </behavior>
    <behavior name="secure-domain2">
        <clientCredentials>
            <clientCertificate storeLocation="CurrentUser" storeName="My" x509FindType="FindBySubjectName" findValue="Domain2"/>
            <serviceCertificate>
                <authentication certificateValidationMode="ChainOrPeerTrust" trustedStoreLocation="LocalMachine"/>
            </serviceCertificate>
        </clientCredentials>
        <networking shortRetryInterval="600" shortRetryAttempts="2" longRetryInterval="3600"/>
    </behavior>
    <behavior name="localhost">
        <networking shortRetryInterval="60" shortRetryAttempts="3" longRetryInterval="600"/>
        <clientCredentials>
            <serviceCertificate>
                <authentication certificateValidationMode="None"/>
            </serviceCertif开发者_StackOverflowicate>
        </clientCredentials>
    </behavior>
</behaviors>


WCF is the answer to your question.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜