Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
WCFÈ«Îö-·þÎñÅäÖò¿ÊðÏê½â
 
×÷Õߣºzhang_xinxiu À´Ô´£ºCSDN ·¢²¼ÓÚ£º 2015-03-12
  3006  次浏览      27
 

ÉÏÆªÎÄÕÂÖ÷ÒªÌÖÂÛÁËWCFµÄ»ù±¾ÄÚÈÝ£¬ÆäÖаüÀ¨WCFµÄÊõÓï¡¢´´½¨·½·¨¼°WCFÔÚ¿ª·¢¹ý³ÌÖÐʹÓõÄÒâÒ壬Ëü²»½öÄܹ»Ìṩ³ÌÐòÖ®¼äµÄͨÐÅ£¬¶øÇÒ»¹ÄÜÌṩ³ÌÐòºÍÊý¾Ý¼äµÄͨÐÅ£¬WCFÌṩÁ˶àÑù»¯µÄ³ÌÐòÖ®¼äµÄͨÐÅ£¬²»½öÖ§³ÖAppµÄͨÐŶøÇÒ»¹Ö§³ÖwebÓëÓ¦ÓóÌÐòÖ®¼äµÄͨÐÅ£¬¿ÉνÊǹ¦ÄÜÇ¿´ó¡£ËäÈ»ÉÏÎÄÌÖÂÛÁËWCFµÄ»ù±¾Ê¹Ó÷½·¨£¬²¢×öÁ˺ܶàDemo£¬µ«ÊǶ¼Ö»ÊǹØÓÚWCFµÄ´´½¨ºÍµ÷Óõ쬽ñÌìÀ´¿´¿´WCFµÄÅäÖ÷½·¨¡£

ÉÏͼÕûÀíÁË·þÎñÅäÖùý³ÌÖÐËùÓõ½µÄ»ù±¾µÄÔªËØ£¬´óÖµIJ½ÖèÖ÷ÒªÊÇÊ×ÏÈÒªÔÚµ÷Ó÷þÎñµÄ³ÌÐò¼¯ÖÐÌí¼Ó·þÎñµÄÒ»¸öÒýÓã¬È»ºóÌí¼ÓÒ»¸öservice²¢Ö¸¶¨·þÎñµÄÃû³Æ¡¢ÖÕ½áµã£¬Èç¹ûÌí¼ÓÁËbehavior£¨ÐÐΪ£©µÄÅäÖã¬ÄÇôҲÐèÒªÌí¼ÓÒ»¸öbehaviorConfigurationµÄÅäÖÃÐÅÏ¢¡£ÔÚÌí¼ÓÒ»¸öserviceʱ»áÔÚÆäÖÐÖ¸¶¨ÖÕ½áµãµÄÐÅÏ¢£¬ÖÕ½áµã˵µÄ¾ÍÊÇ·þÎñµÄ¾ßÌåÐÅÏ¢·ÃÎÊ·½Ê½£¬ÔÚÖÕ½áµãÖÐÌí¼Ó·þÎñaddress¼°bindingÐÅÏ¢ºÍcontract£¨·þÎñÆõÔ¼£©ÐÅÏ¢µÈ¡£ÔÚendpointÖÐÌí¼ÓµÄbindingÖ»ÊÇÖ¸¶¨ÁË·þÎñ°ó¶¨µÄ·ÃÎÊ·½Ê½£¬ÀýÈ磺basicHttpBindingµÈ£¬ÕæÕýµÄbindingÅäÖÃÊÇÐèÒªÔÚÁíÍâµÄbindingÖÐÌí¼ÓµÄ£¬Ìí¼ÓºÃºóÐèÒªÅäÖÃÔÚendpointµÄbindingConfiguration¡£ÏÂÃæ¿´Ò»¸ö·þÎñÔÚ¿Í»§¶Ë²¿ÊðÅäÖõÄʾÀý¡£

<?xml version="1.0" encoding="utf-8" ?>  
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<system.serviceModel>

<!--The bindings configuration
We deployed the basichttpbinding.
I added a binding that name is binding1.
The binding1 used the security.
-->
<bindings>
<basicHttpBinding>
<binding name="binding1">
<security mode="Message">
<message clientCredentialType="Certificate"/>
</security>
</binding>
</basicHttpBinding>
</bindings>

<!--The behaviors configuration
I added a serviceBehavior that has nothing configuration in.
-->
<behaviors>
<serviceBehaviors>
<behavior name="service1_behavior">

</behavior>
</serviceBehaviors>
</behaviors>

<!--The services configuration
I added a service that behaviorConfiguration is service1_behavior.
This service has an endpoint that added the property and the binding.
-->
<services>
<service name="Wcfservice.Service1" behaviorConfiguration="service1_behavior">
<endpoint address="http://localhost:64921/Service1.svc" name="ServiceReference1_IService1" binding="basicHttpBinding" bindingConfiguration="binding1" contract="ServiceReference1.IService1"></endpoint>
</service>
</services>

</system.serviceModel>
</configuration>

ÉÏÀý½«ÅäÖÃÐÅϢдÈëµ½ÁËxmlÖУ¬·Ö±ðÌí¼ÓÁËÒ»¸ö·þÎñµÄbinding¡¢serviceºÍbehavior£¬ÔÚÌí¼ÓʱÍùÍùÊÇ×ÔÏÂÏòÉÏÌí¼Ó£¬Ê×ÏÈÌí¼ÓÒ»¸öbindingÅäÖÃÐÅÏ¢£¬È»ºóÌí¼ÓÏàÓ¦µÄbehaviorÐÐΪ£¬×îºóÌí¼ÓÒ»¸öservice²¢°Ñ°ó¶¨ÐÅÏ¢Ìí¼Óµ½ÆäÖС£

Ò»¡¢service

serviceÖ÷ÒªÊÇÓÃÀ´ÅäÖÃendpointºÍhostµÄ£¬Ëüʵ¼ÊÉÏ´ú±íÁËΪ³ÌÐò¼¯Ìí¼ÓÁËÒ»¸ö·þÎñµÄÒýÓã¬ÆäÖеÄendpointÖ¸¶¨ÁË·þÎñµÄµØÖ·¡¢°ó¶¨ºÍЭÒ飬hostÔòÌṩÁË·þÎñ¼ÄË޵ķ½Ê½¡£

ÈçÏÂÅäÖãº

<services>  
<service name="Wcfservice.Service1">
<host>
<baseAddresses>
<add baseAddress="http://localhost:64921/ConsoleApplication1"/>
</baseAddresses>
</host>
<endpoint address="http://localhost:64921/WcfService1.IService1" binding="basicHttpBinding" bindingConfiguration="binding1" contract="ServiceReference1.IService1"></endpoint>
</service>
</services>

ÔÚÉÏÃæµÄ´úÂëÖÐÌí¼ÓÁËÒ»¸öservice£¬²¢ÎªserviceÅäÖÃÁËÒ»¸öhost¸ÃhostµÄÓ¦ÓóÌÐò¼´Îªµ±Ç°ÒýÓ÷þÎñµÄ³ÌÐò¼¯¡£×îºóÌí¼ÓÁËÒ»¸öendpoint£¬ÖÕ½áµãÖаó¶¨ÁËURI£¬URIµÄµØÖ·¾ÍÊÇWCFµÄ¶¨Ò嵨ַ£¬ÆäÖеÄbindingÊÇÖ¸¶¨ÁË»ù±¾µÄ°ó¶¨ÀàÐÍ£¬ÁíÍ⻹ʹÓÃcontractÖ¸¶¨ÁË·þÎñÆõÔ¼µÄ½Ó¿Ú¡£

¶þ¡¢binding

serviceÊǶԷþÎñ½øÐеÄÅäÖã¬Ö¸¶¨ÁË·þÎñµÄһЩÅäÖÃÐÅÏ¢£¬ÁíÍâºÜÖØÒªµÄºÍserviceͬ¼¶»¹ÓÐbinding£¬ËüÊǶÔÏûÏ¢·ÃÎÊ·½Ê½×öµÄһЩÅäÖá£

1¡¢°ó¶¨·½Ê½

·ÖΪϵͳ×Ô´øµÄ°ó¶¨ºÍÓû§×Ô¶¨Òå°ó¶¨Á½ÖÖ£¬ÏµÍ³×Ô´øµÄ°ó¶¨°üÀ¨basicHttpBinding¡¢WcHttpBindingµÈ¡£

Èç¹ûϵͳÌṩµÄ°ó¶¨¹¦Äܲ»ÍêÈ«£¬ÄÇôҲ¿ÉÒÔʹÓÃÓû§×Ô¶¨ÒåµÄ°ó¶¨¹¦ÄÜ£¬¿ÉÒÔʹÓÃcustomBinding¶ÔÏó´ÓÔ¤ÏÈ´æÔڵİó¶¨ÔªËØÖд´½¨Ðµİ󶨣¬Ò²¿ÉÒÔͨ¹ý´ÓBindingÅÉÉúÀàÀ´´´½¨ÍêÈ«ÓÉÓû§×Ô¶¨ÒåµÄ°ó¶¨¡£

2¡¢»ù±¾¹¦ÄÜ

°ó¶¨³ýÁ˶¨Òå°ó¶¨µÄ·½Ê½Í⣬»¹¿ÉÒÔÖ¸¶¨´«ÊäЭÒéµÄÀàÐÍ¡¢°²È«ÐÔ¡¢±àÂ뷽ʽºÍÊÂÎñµÈ£¬Í¨¹ý°ó¶¨À´ÅäÖÃWCFµÄ»ù±¾²Ù×÷ÀàÐÍ£¬ÕâÑùÄܹ»¶Ô·þÎñ×öÏêϸµÄһЩÅäÖã¬Ê¹·þÎñµÄ¹¦Äܸü¼Ó½¡È«¡£

<?xml version=¡±1.0¡± encoding=¡±utf-8¡± ?>  
<configuration>
<system.serviceModel>
<services>
<service name =¡±WCFService.ServiceClass¡± behaviorConfiguration=¡±metadataSupport¡±>
<host>
<baseAddresses>
<add baseAddress=¡±net.pipe://localhost/WCFService¡±/>
<add baseAddress=¡±net.tcp://localhost:8000/WCFService¡±/>
<add baseAddress=¡±http://localhost:8080/WCFService¡±/>
</baseAddresses>
</host>
<endpoint address=¡±tcpmex¡± binding=¡±mexTcpBinding¡± contract=¡±IMetadataExchange¡±/>
<endpoint address=¡±namedpipemex¡± binding=¡± mexNamedPipeBinding¡± contract=¡±IMetadataExchange¡±/>
<endpoint address=¡±¡± binding=¡±wsHttpBinding¡± contract=¡±WCFService.IServiceClass¡±/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name=¡±metadataSupport¡±>
<serviceMetadata httpGetEnabled=¡±false¡± httpGetUrl=¡±¡±/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>

Èý¡¢Behavior

ÐÐΪÊôÐÔ£¬ÐÐΪÊôÐÔ¿ÉÒÔ¿ØÖÆ·þÎñµÄÔËÐÐÊ±ÌØÐÔ£¬Ö÷Òª·ÖΪ·þÎñÐÐΪºÍ²Ù×÷ÐÐΪ£¬ÕâЩÐÐΪ»òÌØÐÔ£¬¿ÉÒÔͨ¹ýÅäÖÃruntimeÊôÐÔÅäÖÃÎļþ£¬»ò×Ô¶¨ÒåÐÐΪÀ´ÊµÏÖ¡£

<?xml version=¡±1.0¡± encoding=¡±utf-8¡± ?>  
<configuration>
<system.serviceModel>
<services>
<service name =¡±WCFService.ServiceClass¡± behaviorConfiguration=¡±metadataSupport¡±>
<host>
<baseAddresses>
<add baseAddress=¡±net.pipe://localhost/WCFService¡±/>
<add baseAddress=¡±net.tcp://localhost:8000/WCFService¡±/>
<add baseAddress=¡±http://localhost:8080/WCFService¡±/>
</baseAddresses>
</host>
<endpoint address=¡±tcpmex¡± binding=¡±mexTcpBinding¡± contract=¡±IMetadataExchange¡±/>
<endpoint address=¡±namedpipemex¡± binding=¡±mexNamedPipeBinding¡± contract=¡±IMetadataExchange¡±/>
<endpoint address=¡±¡± binding=¡±wsDualHttpBinding¡± contract=¡±WCFService.IServiceClass¡±/>
<!--<endpoint address=¡±mex¡± binding=¡±mexHttpBinding¡± contract=¡±IMetadataExchange¡±/>-->
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name=¡±metadataSupport¡±>
<serviceDebug includeExceptionDetailInFaults=¡±true¡±/>
<serviceMetadata httpGetEnabled=¡±false¡± httpGetUrl=¡±¡±/>
<serviceThrottling maxConcurrentCalls=¡±10¡± maxConcurrentInstances=¡±5¡± maxConcurrentSessions=¡±5¡±/>
<serviceSecurityAudit auditLogLocation=¡±Application¡± suppressAuditFailure=¡±false¡±/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>

Note:serviceMetadata ÊÇÒ»ÖÖÔªÊý¾ÝÆôÓù¦ÄÜ£¬ËüÊÇÅäÖÃÔªÊý¾ÝÖÕ½áµã£¬Ä¬ÈÏÇé¿öÏÂÊDz»¹«¿ªÔªÊý¾ÝµÄ£¬µ«ÊÇ¿ÉÒÔͨ¹ýÆôÓÃÅäÖÃÀ´¹«¿ªÔªÊý¾ÝµÄÖÕ½áµã¡£

ÉÏÃæµÄ´úÂë¶¼ÊÇʹÓõÄÊÇÅäÖÃÎļþ×öµÄ·þÎñµÄÅäÖò¿Êð£¬ÁíÍâÒ²¿ÉÔÚ³ÌÐòÖбàд´úÂëÀ´ÅäÖò¿ÊðÐÅÏ¢£¬µ«ÊDz¢²»ÔÞ³ÉÕâÖÖÅäÖ÷½Ê½£¬ÒòΪÕâÖÖÅäÖ÷½Ê½²»Ò׸ü¸Ä£¬µ±Ä㲿Ê𵽿ͻ§»·¾³ºó¾Í²»ÄÜÔÙ¸ü¸ÄÄÚ²¿µÄ´úÂë½á¹¹£¬ËùÒÔÕâÖÖ·½Ê½ºÜ²»Áé»î£¬²¢²»ÌᳫʹÓÃÕâÖÖ·½Ê½À´ÅäÖ÷þÎñ£¬µ«ÊÇ¿ÉÒÔ×÷ΪÁ˽⣬ÈçÏ´úÂ룺

namespace ConsoleApplication1  
{
class Program
{
static void Main(string[] args)
{
using (ServiceHost host=new ServiceHost(typeof(ServiceReference1.Service1Client)))
{
host.AddServiceEndpoint(typeof(ServiceReference1.IService1), new WSHttpBinding(), "http://localhost:8733/Design_Time_Addresses/WcfServiceLibrary1/Service1");
if (host.Description.Behaviors.Find<ServiceMetadataBehavior>()==null)
{
ServiceMetadataBehavior serviceMetadata=new ServiceMetadataBehavior();
serviceMetadata.HttpGetEnabled = true;
serviceMetadata.HttpGetUrl = new Uri ("http://localhost:8733/Design_Time_Addresses/WcfServiceLibrary1/Service1/metadata");
host.Description.Behaviors.Add(serviceMetadata);
}

host.Open();

ServiceReference1.IService1 service1 = new ServiceReference1.Service1Client();
service1.GetData(1);
Console.Write("fdsf");
host.Close();
}
}
}
}

ÉÏÃæµÄ´úÂëÖÐʹÓõÄÊÇWSHttpBinding·½Ê½ËüÖ§³ÖË«¹¤Í¨ÐÅ£¬ÁíÍâÉÏÃæµÄËÞÖ÷·½Ê½Ê¹ÓõÄÊÇConsoleApplication Host£¬ÕâÖÖhost·½Ê½·Ç³£¼òµ¥¡£ÔÚ´´½¨ËÞÖ÷³ÌÐòʱ£¬ÐèҪΪËÞÖ÷Ö¸¶¨ËÞÖ÷·þÎñµÄÀàÐÍ£¬ÕâÀïµÄÀàÐÍҪʹÓÃʵÏÖ·þÎñµÄÀ࣬×îºÃ²»ÒªÊ¹ÓýӿÚÀàÐÍ¡£

´´½¨ËÞÖ÷¶ÔÏóºó£¬½ÓÏÂÀ´ÎªËÞÖ÷Ìí¼ÓÁËÒ»¸ö·þÎñµÄÖÕ½áµã£¬ÖÕ½áµãÖеÚÒ»¸ö²ÎÊýÊÇÖ¸¶¨ÁËЭÒéʵÏÖµÄÀàÐÍ£¬±¾ÀýʹÓõÄÊǽӿÚЭÒ飬ËùÒÔÒªÅäÖÃΪÏàÓ¦µÄ½Ó¿ÚÀàÐÍ£»µÚ¶þ¸ö²ÎÊýÖ¸¶¨Á˰󶨵ÄÀàÐÍ£»µÚÈý¸ö²ÎÊýÔòÖ¸¶¨ÁËÖÕ½áµãµÄURIµØÖ·£¬URIµØÖ·ÒªÅäÖ÷þÎñ¾ßÌåʵÏÖµÄÀàURLµØÖ·¡£
½ÓÏÂÀ´ÎªËÞÖ÷Ìí¼ÓÁËÒ»¸öÐÐΪ£¨Behavior£©£¬²¢ÎªÐÐΪ¹«¿ªÁËÔªÊý¾Ý£¬ÕâÖÖÐÐΪÔÚ´´½¨Ê±Ò²¿ÉÒÔ²»Ç¿¼Ó¸ø·þÎñ£¬Ò²¾ÍÊÇ˵ÔÚÌí¼ÓËÞÖ÷ʱ£¬·þÎñµÄÐÐΪ¶¨ÒåÊÇ¿ÉÑ¡µÄ£¬Ò²¿ÉÒÔ²»¶¨Òå¡£

½áÓï

±¾ÎÄÖ÷ÒªÕë¶ÔWCFÔÚ¿Í»§¶Ë½øÐÐÅäÖÃʱËùʹÓõĻù±¾µÄÅäÖýÚ×öÁËÏêϸµÄÌÖÂÛ£¬Ö÷ÒªÊÇService¡¢BindingºÍBehaviorµÄÓ¦Óã¬ÁíÍâÐèҪעÒâµÄÊÇÔÚ¿Í»§¶Ë½øÐзþÎñÅäÖÃʱ²»½¨Òé²ÉÓôúÂëÅäÖõķ½·¨£¬×îºÃʹÓÃxmlÎļþ½øÐз¢²¼ÅäÖã¬ÕâÑùÄܺܺõÄÐ޸ġ£×îºó»¹ÓÐÔÚÌí¼ÓWCFʱһ¶¨Òª¸ù¾Ý²»Í¬µÄÀà±ðÌí¼ÓÐèÒªµÄWCF£¬WCFÖÐÓÐÀà¿âºÍApplicationÁ½ÖÖ£¬ËüÃÇËùÕë¶ÔµÄHostÊDz»Í¬µÄ£¬Èç¹ûÊÇÀà¿âµÄ»°ÍùÍùÓÃÀ´ÅäÖÃConsole Application×÷ΪHost£¬Èç¹ûÊÇApplicationÀàµÄÍùÍùÓÃÀ´ÅäÖÃÍøÕ¾·þÎñ£¬·ñÔòÔÚʹÓÃʱºÜÈÝÒ׳ö´í¡£

   
3006 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂ䵨
Ïà¹Ø¿Î³Ì

ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þ
ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS


ÃæÏòÓ¦Óõļܹ¹Éè¼ÆÊµ¼ù
µ¥Ôª²âÊÔ+ÖØ¹¹+Éè¼ÆÄ£Ê½
Èí¼þ¼Ü¹¹Ê¦¡ª¸ß¼¶Êµ¼ù
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ¡ª¸ß¼¶Êµ¼ù
SOAÌåϵ½á¹¹Êµ¼ù


Èñ°²¿Æ¼¼ Èí¼þ¼Ü¹¹Éè¼Æ·½·¨
³É¶¼ ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
ÉϺ£Æû³µ ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
±±¾© Èí¼þ¼Ü¹¹Éè¼Æ
ÉϺ£ Èí¼þ¼Ü¹¹Éè¼Æ°¸ÀýÓëʵ¼ù
±±¾© ¼Ü¹¹Éè¼Æ·½·¨°¸ÀýÓëʵ¼ù
ÉîÛÚ ¼Ü¹¹Éè¼Æ·½·¨°¸ÀýÓëʵ¼ù
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ¡ª¸ß¼¶Êµ¼ù