Размещение в службах IIS с использованием встроенного кодаIIS Hosting Using Inline Code

Этот образец демонстрирует реализацию службы, размещенной в службах IIS, когда код службы находится в строках файла SVC и компилируется по требованию.This sample demonstrates how to implement a service hosted by Internet Information Services (IIS), where the service code is contained in-line in a .svc file and is compiled on demand. Код службы может также быть реализован непосредственно в файлах исходного кода, расположенных в каталоге \App_Code приложения, или он может быть скомпилирован в сборку, развернутую в каталоге \bin.Service code can also be implemented directly in source code files located in the application's \App_Code directory, or compiled into assembly deployed in \bin. В этом примере такие приемы не демонстрируются.This sample does not demonstrate these techniques.

Примечание

Процедура настройки и инструкции по построению для данного образца приведены в конце этого раздела.The set-up procedure and build instructions for this sample are located at the end of this topic.

Важно!

Образцы уже могут быть установлены на компьютере.The samples may already be installed on your computer. Перед продолжением проверьте следующий каталог (по умолчанию).Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Если этот каталог не существует, перейдите к Windows Communication Foundation (WCF) и образцы Windows Workflow Foundation (WF) для .NET Framework 4 для загрузки всех Windows Communication Foundation (WCF) и WFWF примеры.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF) and WFWF samples. Этот образец расположен в следующем каталоге.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Services\Hosting\WebHost\InlineCode

В этом примере показана типичная служба, которая реализует контракт, определяющий шаблон взаимодействия "запрос-ответ".The sample demonstrates a typical service that implements a contract that defines a request-reply communication pattern. Служба размещается в службах IIS, а весь код службы полностью содержится в файле Service.svc.The service is hosted in IIS and the service code is entirely contained in the Service.svc file. Служба активируется ведущим приложением и компилируется по требованию при поступлении первого сообщения, отправленного этой службе.The service is host-activated and compiled on-demand by the first message sent to the service. Предварительная компиляция не требуется.There is no pre-compilation necessary. Служба реализует контракт ICalculator, как показано в следующем примере кода:The service implements an ICalculator contract as defined in the following code:

// Define a service contract.
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]
    public interface ICalculator
{
    [OperationContract]
    double Add(double n1, double n2);
    [OperationContract]
    double Subtract(double n1, double n2);
    [OperationContract]
    double Multiply(double n1, double n2);
    [OperationContract]
    double Divide(double n1, double n2);
}

Реализация службы выполняет вычисления и возвращает соответствующий результат.The service implementation calculates and returns the appropriate result.

<%@ServiceHost language=c# Debug="true" Service="Microsoft.ServiceModel.Samples.CalculatorService" %>
// Service class that implements the service contract.
public class CalculatorService : ICalculator
{
    public double Add(double n1, double n2)
    {
        return n1 + n2;
    }
    public double Subtract(double n1, double n2)
    {
        return n1 - n2;
    }
    public double Multiply(double n1, double n2)
    {
        return n1 * n2;
    }
    public double Divide(double n1, double n2)
    {
        return n1 / n2;
    }
}

При выполнении примера запросы и ответы операций отображаются в окне консоли клиента.When you run the sample, the operation requests and responses are displayed in the client console window. Чтобы закрыть клиент, нажмите клавишу ВВОД в окне клиента.Press ENTER in the client window to shut down the client.

Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714

Press <ENTER> to terminate client.

Настройка, сборка и выполнение образцаTo set up, build, and run the sample

  1. Убедитесь, что вы выполнили выполняемая однократно процедура настройки для образцов Windows Communication Foundation.Ensure that you have performed the One-Time Setup Procedure for the Windows Communication Foundation Samples.

  2. Чтобы создать выпуск решения на языке C# или Visual Basic .NET, следуйте инструкциям в разделе Building the Windows Communication Foundation Samples.To build the C# or Visual Basic .NET edition of the solution, follow the instructions in Building the Windows Communication Foundation Samples.

  3. После решения построено, запустите файл setup.bat, чтобы настроить приложение ServiceModelSamples в IIS 7.0.After the solution has been built, run setup.bat to set up the ServiceModelSamples Application in IIS 7.0. Теперь каталог ServiceModelSamples должен представляться как приложение IIS 7.0.The ServiceModelSamples directory should now appear as an IIS 7.0 Application.

  4. Чтобы запустить образец в конфигурации с одной или нескольких компьютерах, следуйте инструкциям в выполнение образцов Windows Communication Foundation.To run the sample in a single- or cross-computer configuration, follow the instructions in Running the Windows Communication Foundation Samples. Например о том, как создать клиентское приложение, которое можно вызывать эту службу, см. в разделе как: Создание клиента.For an example on how to create a client application that can call this service, see How to: Create a Client.

См. такжеSee also