Instrukcje: Dodawanie punktu końcowego AJAX ASP.NET przy użyciu konfiguracji
Program Windows Communication Foundation (WCF) umożliwia utworzenie usługi, która udostępnia punkt końcowy z obsługą ASP.NET AJAX, który można wywołać z języka JavaScript w witrynie sieci Web klienta. Aby utworzyć taki punkt końcowy, możesz użyć pliku konfiguracji, podobnie jak we wszystkich innych punktach końcowych programu Windows Communication Foundation (WCF) lub użyć metody, która nie wymaga żadnych elementów konfiguracji. W tym temacie przedstawiono podejście do konfiguracji.
Część procedury, która pozwala punktowi końcowemu usługi stać się ASP.NET włączona funkcja AJAX składa się z konfigurowania punktu końcowego w celu używania WebHttpBinding elementu i dodawania< zachowania punktu końcowego enableWebScript>. Po skonfigurowaniu punktu końcowego kroki implementowania i hostowania usługi są podobne do tych, które są używane przez dowolną usługę WCF. Aby zapoznać się z roboczym przykładem, zobacz AJAX Service Using HTTP POST (Usługa AJAX using HTTP POST).
Aby uzyskać więcej informacji na temat konfigurowania punktu końcowego AJAX ASP.NET bez używania konfiguracji, zobacz Jak dodać ASP.NET punkt końcowy AJAX bez używania konfiguracji.
Aby utworzyć podstawową usługę WCF
Zdefiniuj podstawowy kontrakt usługi WCF z interfejsem oznaczonym atrybutem ServiceContractAttribute . Oznacz każdą operację za pomocą .OperationContractAttribute Pamiętaj, aby ustawić Namespace właściwość .
[ServiceContract(Namespace = "MyService")] public interface ICalculator { [OperationContract] // This operation returns the sum of d1 and d2. double Add(double n1, double n2); //Other operations omitted… }
Zaimplementuj
ICalculator
kontrakt usługi za pomocą poleceniaCalculatorService
.public class CalculatorService : ICalculator { public double Add(double n1, double n2) { return n1 + n2; } // Other operations omitted… }
Zdefiniuj przestrzeń nazw dla
ICalculator
implementacji iCalculatorService
, opakowując je w bloku przestrzeni nazw.namespace Microsoft.Ajax.Samples { //Include the code for ICalculator and Calculator here. }
Aby utworzyć punkt końcowy AJAX ASP.NET dla usługi
Utwórz konfigurację zachowania i określ <zachowanie enableWebScript> dla ASP.NET punktów końcowych z obsługą AJAX usługi.
<system.serviceModel> <behaviors> <endpointBehaviors> <behavior name="AspNetAjaxBehavior"> <enableWebScript /> </behavior> </endpointBehaviors> </behaviors> </system.serviceModel>
Utwórz punkt końcowy dla usługi korzystającej z WebHttpBinding zachowania AJAX ASP.NET i zdefiniowanego w poprzednim kroku.
<system.serviceModel> <services> <service name="Microsoft.Ajax.Samples.CalculatorService"> <endpoint address="" behaviorConfiguration="AspNetAjaxBehavior" binding="webHttpBinding" contract="Microsoft.Ajax.Samples.ICalculator" /> </service> </services> </system.serviceModel>
Aby hostować usługę w usługach IIS
Aby hostować usługę w usługach IIS, utwórz nowy plik o nazwie service z rozszerzeniem svc w aplikacji. Edytuj ten plik, dodając odpowiednie informacje o dyrektywie @ServiceHost dla usługi. Na przykład zawartość w pliku usługi dla przykładu
CalculatorService
zawiera następujące informacje.<%@ServiceHost language=c# Debug="true" Service="Microsoft.Ajax.Samples.CalculatorService" %>
Aby uzyskać więcej informacji na temat hostowania w usługach IIS, zobacz Instrukcje: hostowanie usługi WCF w usługach IIS.
Aby wywołać usługę
- Punkt końcowy jest skonfigurowany pod pustym adresem względem pliku svc, więc usługa jest teraz dostępna i może być wywoływana przez wysyłanie żądań do pliku service.svc/<operation> — na przykład service.svc/Add dla
Add
operacji. Można go użyć, wprowadzając adres URL punktu końcowego do kolekcji Skrypty kontrolki menedżera skryptów ASP.NET AJAX. Przykład można znaleźć w artykule AJAX Service Using HTTP POST (Usługa AJAX using HTTP POST).