.net scriptsharp引用web服务/结果模型的强类型

.net scriptsharp引用web服务/结果模型的强类型,.net,script#,.net,Script#,使用scriptsharp(script#),在调用我的web应用程序中定义的服务时,是否可以获得强键入?我能看到的唯一方法是: 1-使用链接/共享文件将我的结果类/域模型卷影复制到我的脚本#lib 2-在脚本库中复制我的模型,并使用automapper进行验证? 3-使用一些.tt来编码gen 此外,即使我能做到这一点,当我的服务结果(asmx)不能做到这一点时,我如何绕过自动驼峰套管脚本?(因此,我的JSON响应将作为UserMessage进行组合,脚本#将其更改为UserMessage)

使用scriptsharp(script#),在调用我的web应用程序中定义的服务时,是否可以获得强键入?我能看到的唯一方法是:
1-使用链接/共享文件将我的结果类/域模型卷影复制到我的脚本#lib
2-在脚本库中复制我的模型,并使用automapper进行验证?
3-使用一些.tt来编码gen

此外,即使我能做到这一点,当我的服务结果(asmx)不能做到这一点时,我如何绕过自动驼峰套管脚本?(因此,我的JSON响应将作为UserMessage进行组合,脚本#将其更改为UserMessage)

基本上,我希望在javascript中调用和处理服务时,使用script#实现对域模型更好的编译时支持,如下所示:

脚本

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);  
    }
}
服务(在我们的web应用程序中)


第2个方法有效,您只需添加[PreserveCase]属性即可绕过驼峰式外壳

using System.Runtime.CompilerServices;

[Imported]
[IgnoreNamespace]
public sealed class Service1ResponseData
{

    [PreserveCase]
    public string UserMessage;

    [PreserveCase]
    public string UserDetail;
}

第2个方法有效,您只需添加[PreserveCase]属性即可绕过驼峰式外壳

using System.Runtime.CompilerServices;

[Imported]
[IgnoreNamespace]
public sealed class Service1ResponseData
{

    [PreserveCase]
    public string UserMessage;

    [PreserveCase]
    public string UserDetail;
}