Как я сериализирую анонимный объект для отправки по веб-сервису SOAP?

Вы можете запустить VBScript в 64-битной Windows как 32-битный процесс или 64-битный процесс. Я считаю, что у вас есть 64-битная система и, следовательно, когда вы дважды кликаете по ней, она запускается как 32-битная .. что приводит к ошибке. Если вы используете 32-битную версию, вам нужен 32-битный ActiveX, а если вы используете 64-битную версию, вам нужен 64-битный ActiveX.

Чтобы запустить 32-битный VBScript в 64-битной системе, попробуйте это

Создайте новый VBS-файл с именем Test.Vbs и сохраните его как C:\Temp\Test.Vbs. Введите эти две строки в этом файле.

Set scr = CreateObject("MSScriptControl.ScriptControl")
MsgBox "Success"

Теперь нажмите Win + R , чтобы запустить Run. Введите это

C:\windows\sysWOW64\cscript C:\Temp\test.vbs

Это работает сейчас? Вы видите окно с сообщением «Успех»?

Если вышеописанное не запускается, попробуйте это

C:\windows\system32\cscript C:\Temp\test.vbs     

Один из них запустится.

5
задан Shawn 3 December 2008 в 14:42
поделиться

2 ответа

Анонимный тип предназначен, чтобы использоваться для простых проекций очень слабо связанных данных, используемых только в рамках метода. Если имеет смысл для веб-метода возвращать данные типа, это действительно должно прилично инкапсулироваться. Другими словами, даже если можно найти способ возвратить экземпляр анонимного типа из веб-метода, я настоятельно рекомендую, чтобы Вы не делали этого.

Я лично не создал бы классы с общедоступными полями ни один - использование автоматически реализованные свойства вместо этого, таким образом, можно безопасно добавить больше поведения позже, если Вы должны.

Обратите внимание, что после создания "надлежащего" типа выражение запроса только должно измениться очень, очень немного - просто добавляют название типа между new и { использовать объектный инициализатор.

7
ответ дан 14 December 2019 в 04:49
поделиться

Вот код, я волновал использование.

[WebMethod(EnableSession = true)]
public PatientsResult GetPatientList(bool returnInactivePatients) {
    if (!IsLoggedIn()) {
        return new PatientsResult() {
            Success = false,
            LoggedIn = false,
            Message = "Not logged in"
        };
    }
    Func<IEnumerable<PatientResult>, IEnumerable<PatientResult>> filterActive = 
        patientList => returnInactivePatients ? patientList : patientList.Where(p => p.Status == "Active");
    User u = (User)Session["user"];
    return new PatientsResult() {
        Success = true,
        LoggedIn = true,
        Message = "",
        Patients = filterActive((from p in u.Practice.Patients
                      select new PatientResult() {
                          PhysicianID = p.PhysicianID,
                          Status = p.Active ? "Active" : "Inactive",
                          PatientIdentifier = p.PatientIdentifier,
                          PatientID = p.PatientID,
                          LastVisit = p.Visits.Count > 0 ? p.Visits.Max(v => v.VisitDate).ToShortDateString() : "",
                          Physician = (p.Physician == null ? "" : p.Physician.FirstName + " " + p.Physician == null ? "" : p.Physician.LastName).Trim(),
                      })).ToList<PatientResult>()
    };
}
public class Result {
    public bool Success { get; set; }
    public bool LoggedIn { get; set; }
    public string Message { get; set; }
}
public class PatientsResult : Result {
    public List<PatientResult> Patients { get; set; }
}
public class PatientResult  {
    public int PatientID { get; set; }
    public string Status { get; set; }
    public string PatientIdentifier { get; set; }
    public string Physician { get; set; }
    public int? PhysicianID {get;set;}
    public string LastVisit { get; set; }
}

}

1
ответ дан 14 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: