Sidder og læser til eksamen i objekt orienteret netværks kommunikation og er faldet over en ting der undre mig en del.
Hvis man skal bruge WCF til at udbyde en web service, dermed sit WSDL dokument, så skal man sætte HttpGetEnabled til true og lave et endpoint til at udbyde MetadataExchange(MEX).
ServiceHost service = new ServiceHost(typeof(RemoteObjectimplementation.HealthCareSystem), httpAddress);
service.AddServiceEndpoint("IDL.IHealthCareSystem", new BasicHttpBinding(), "HealthCareWebserviceService");
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
service.Description.Behaviors.Add(smb);
service.AddServiceEndpoint(typeof(IMetadataExchange), MetadataExchangeBindings.CreateMexHttpBinding(), "mex");
Jeg har dog efter et par test fundet ud af man kan undvære det sidste endpoint altså MEX bindingen. Jeg har derfor spurgt vores lære, men hans bedste bud var at det blev sat som default når man satte behavioren HttpGetEnabled.
Er der nogle har der har et svar på dette spørgsmål? bliver den sat default eller er der noget min lære og mig har misforstået med brugen af MetaDataExchange bindingens brug?