scriptsharp справочный веб-сервис / строго тип к модели результатов - PullRequest
1 голос
/ 07 января 2011

С помощью scriptsharp (script #) можно ли строго печатать при вызове службы, определенной в моем веб-приложении?Единственный способ увидеть это:
1 - использовать связанные / совместно используемые файлы для теневого копирования классов результатов / моделей доменов в мой скрипт # lib
2 - копировать мою модель в сценарии # lib и использоватьautopper для проверки?
3 - также использовать некоторые .tt для генерации кода?

также, даже если я могу это сделать, как мне обойти сценарий автоматической верблюжьей охоты #, когда мой сервисный результат(asmx) не будет делать это?(поэтому мой JSON-ответ будет выглядеть как UserMessage, script # изменит это на userMessage)

В основном, я хочу использовать script #, чтобы добиться лучшей поддержки времени компиляции для нашей модели домена при вызове и обработкесервисы в javascript, так что-то вроде этого:

Scriptlet

public static class MyScriptlet
{  
    public static void Main()
    {
        MyService.Service1("hello", ProcessResponse);
    }  
    public static void ProcessResponse(MyService.Service1ResponseData resp)
    {  
        jQuery.Select('#Message').Text(resp.UserMessage);  
        jQuery.Select('#Detail').Text(resp.UserDetail);  
    }
}

Сервис (в нашем веб-приложении)

public class MyService
{
    public class Service1ResponseData
    {
        public string UserMessage {get;set;}
        public string UserDetail {get;set;}
    }
    public Service1ResponseData Service1(string user)
    {
        return new Service1ResponseData() { UserMessage:"hi",UserDetail:"some text" };
    }
}

1 Ответ

1 голос
/ 13 января 2011

Номер 2 работает, и вам нужно только добавить атрибуты [PreserveCase], чтобы обойти верблюжий корпус.

using System.Runtime.CompilerServices;

[Imported]
[IgnoreNamespace]
public sealed class Service1ResponseData
{

    [PreserveCase]
    public string UserMessage;

    [PreserveCase]
    public string UserDetail;
}
...