Совместное использование C# кодирует между библиотеками классов Silverlight и Windows

Вы не можете получить все в одном запросе и нужно больше исследований. Например, чтобы узнать информацию о выполнении задания, вы можете попробовать следующий запрос.

SELECT 
    [sJOB].[job_id] AS [JobID]
    , [sJOB].[name] AS [JobName]
    , CASE 
        WHEN [sJOBH].[run_date] IS NULL OR [sJOBH].[run_time] IS NULL THEN NULL
        ELSE CAST(
                CAST([sJOBH].[run_date] AS CHAR(8))
                + ' ' 
                + STUFF(
                    STUFF(RIGHT('000000' + CAST([sJOBH].[run_time] AS VARCHAR(6)),  6)
                        , 3, 0, ':')
                    , 6, 0, ':')
                AS DATETIME)
      END AS [LastRunDateTime]
    , CASE [sJOBH].[run_status]
        WHEN 0 THEN 'Failed'
        WHEN 1 THEN 'Succeeded'
        WHEN 2 THEN 'Retry'
        WHEN 3 THEN 'Canceled'
        WHEN 4 THEN 'Running' -- In Progress
      END AS [LastRunStatus]
    , STUFF(
            STUFF(RIGHT('000000' + CAST([sJOBH].[run_duration] AS VARCHAR(6)),  6)
                , 3, 0, ':')
            , 6, 0, ':') 
        AS [LastRunDuration (HH:MM:SS)]
    , [sJOBH].[message] AS [LastRunStatusMessage]
    , CASE [sJOBSCH].[NextRunDate]
        WHEN 0 THEN NULL
        ELSE CAST(
                CAST([sJOBSCH].[NextRunDate] AS CHAR(8))
                + ' ' 
                + STUFF(
                    STUFF(RIGHT('000000' + CAST([sJOBSCH].[NextRunTime] AS VARCHAR(6)),  6)
                        , 3, 0, ':')
                    , 6, 0, ':')
                AS DATETIME)
      END AS [NextRunDateTime]
FROM 
    [msdb].[dbo].[sysjobs] AS [sJOB]
    LEFT JOIN (
                SELECT
                    [job_id]
                    , MIN([next_run_date]) AS [NextRunDate]
                    , MIN([next_run_time]) AS [NextRunTime]
                FROM [msdb].[dbo].[sysjobschedules]
                GROUP BY [job_id]
            ) AS [sJOBSCH]
        ON [sJOB].[job_id] = [sJOBSCH].[job_id]
    LEFT JOIN (
                SELECT 
                    [job_id]
                    , [run_date]
                    , [run_time]
                    , [run_status]
                    , [run_duration]
                    , [message]
                    , ROW_NUMBER() OVER (
                                            PARTITION BY [job_id] 
                                            ORDER BY [run_date] DESC, [run_time] DESC
                      ) AS RowNumber
                FROM [msdb].[dbo].[sysjobhistory]
                WHERE [step_id] = 0
            ) AS [sJOBH]
        ON [sJOB].[job_id] = [sJOBH].[job_id]
        AND [sJOBH].[RowNumber] = 1
ORDER BY [JobName]

Вы можете получить и узнать подробно - Здесь и Здесь

14
задан Steve Crane 21 January 2009 в 14:09
поделиться

5 ответов

Вы не можете установить ссылку от блока Silverlight до регулярного блока.NET, но можно сделать так наоборот.

Поэтому создайте общий блок Silverlight и добавьте свой код к тому блоку. Теперь можно установить ссылку fro и регулярная.NET и Вы другой блок Silverlight к общему блоку Silverlight.

Ограничение - то, что можно только поместить код там, который работал бы и над.NET и над Silverlight CLR, но это не отличается от совместного использования кода.

14
ответ дан 1 December 2019 в 09:13
поделиться

Время выполнения Silverlight отличается от нормального времени выполнения.NET. Таким образом, необходимо сделать приемы на уровне проекта для совместного использования кода между несколькими платформами.

Вот то, как я сделал это для контейнера МОК Autofac.

С этим подходом Вы не должны создавать различные проекты для каждой предназначаемой платформы.

PS: существует также инструмент Project Linker от Составного WPF, который позволяет связывать Silverlight, и проекты WPF (создает несколько проектов). Но это действительно выглядит грязным.

3
ответ дан 1 December 2019 в 09:13
поделиться

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

Если Вам любопытно, можно получить немного понимания из этого блога:

Для перекомпиляции источника для другой платформы Вам нужен другой проект. Причина этого состоит в том, потому что проекты должны сослаться на различные блоки и для Платформы XNA и для базовой Платформы.NET (Xbox 360, и Zune используют.NET Компактная Платформа), и проекты C# не оказывают поддержку для ссылки на различные блоки для различных платформ.

2
ответ дан 1 December 2019 в 09:13
поделиться

Попробуйте это http://buildassilverlight.codeplex.com/

2
ответ дан 1 December 2019 в 09:13
поделиться

У меня возникли некоторые проблемы с зависимостями при обращении к библиотеке классов Silveright в .Net.

Альтернативный способ использования Visual Studio 2010 и WCF RIA 1.0:

  • Создайте обычную сборку библиотеки .Net.
  • Создайте библиотеку классов Silverlight. В конфигурации сборки укажите первую библиотеку .NET как «ссылку на службу WCF RIA»
  • . Поместите свой код в библиотеку .NET как файлы «ClassName.shared.cs».
  • WCF RIA будет копировать файл в сборку Silverlight.
0
ответ дан 1 December 2019 в 09:13
поделиться
Другие вопросы по тегам:

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