Как ссылаться на файл .cs из основного файла .asmx при запуске веб-службы?

1

Я только начал экспериментировать с С#/. NET, и для моего первого проекта я создаю веб-сервис.

Я выполнил этот очень короткий учебник (mono-project.org) и могу успешно подключиться через мой браузер после запуска xsp4 из командной строки.

Мой вопрос: как мне импортировать файл .cs с пространством имен + несколько определений классов из моего основного .asmx файла? Когда я запускаю xsp4, он не принимает никаких аргументов командной строки, в отличие от компилятора mono-csc в котором вы mono-csc какие файлы вы хотите скомпилировать в окончательный вывод.

Когда я пытаюсь ссылаться на класс (префикс его пространства имен), определенный в одном из этих файлов .cs, он просто сообщает мне, что пространство имен не может быть найдено.

Вот простой код:

<%@ WebService Language="C#" Class="MathService.MathService" %>

using System;
using System.Web.Services;
using System.Collections.Generic;

using com.example;

namespace MathService
{
    [WebService (Namespace = "http://tempuri.org/NumberService")]
    public class MathService : WebService
    {
        [WebMethod]
        public int AddNumbers (int number1, int number2)
        {
            return number1 + number2;
        }

        [WebMethod]
        public int SubtractNumbers (int number1, int number2)
        {
            return number1 - number2;
        }

        [WebMethod]
        public com.example.Response GetBalance(com.example.Request request)
        {
            com.example.Response response = new com.example.Response();
            return response;
        }
    }
}
  • 1
    Вы видели часть о "Эта страница, вероятно, устарела (последний раз редактировалось 16 ноября 2007 г.)"? Вы должны использовать WCF для разработки новых веб-сервисов.
  • 0
    Я заметил это - однако это была самая новая версия этой страницы. Спасибо за совет WCF.
Теги:
mono

1 ответ

1

Вы имеете в виду, @import? Должно быть в первых строках вашей страницы:

<%@ Import namespace="MyAssembly.MyUnit" %>

http://msdn.microsoft.com/en-us/library/eb44kack(v=vs.85).aspx

  • 1
    спасибо - почему это отличается от оператора using ?
  • 1
    Это не отличается, это то же самое. Но вы используете расширение .asmx . Это означает, что вы пишете скрипт, похожий на код страницы. Вы могли бы реализовать свой WS в коде позади файла, тогда это был бы .asmx.cs а затем вы бы использовали оператор using .
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню