2010-12-01 61 views
0

我在一個ASP.Net項目中有一個HTTP處理程序,並希望生成一個基於Silverlight用戶控件呈現爲位圖的圖像。在HTTP處理程序中實例化Silverlight控件,...可能嗎?

然而,在ProcessRequest,當我嘗試實例化任何的XAML控制,我得到下面的異常....

{「爲 ‘MS.Internal.JoltHelper’的類型初始值拋出 例外。「}

...用下面的堆棧跟蹤...

在 MS.In ternal.JoltHelper.get_ThreadID() 在 MS.Internal.XcpImports.CheckThread()
在 System.Windows.DependencyObject..ctor(UInt32的 nativeTypeIndex,IntPtr的constructDO)
在 System.Windows.Controls.UserControl ..ctor() 在CaseCard..ctor()在 C:!WORKING_FOLDER \中繼線\ ProActive的\ ProActive.UI \ CaseCard.xaml.vb:線 6在ServiceLocator.GetCard()在 C:!WORKING_FOLDER \ Trunk \ ProActive \ ProActive.UI \ ServiceLocator.vb: 20位於 ProActive.Host.ImageGeneratorHandler.ProcessRequest(HttpContext 上下文)位於 C:!WORKING_FOLDER \中繼線\ ProActive的\ ProActive.Host \ App_Code文件\ ImageGeneratorHandler.cs: 10在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 線在 的System.Web .HttpApplication.ExecuteStep(IExecutionStep 步驟,布爾& completedSynchronously)

...和內例外是本...

{「無法加載文件或組件 「的System.Xml ,版本= 2.0.5。 0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e'或 其依賴項之一。該系統 找不到文件 規定 「:」 的System.Xml, 版本= 2.0.5.0,文化=中立, 公鑰= 7cec85d7bea7798e「}

現在,我..繼承了這個項目的一對夫婦幾個月前,它的狀況很糟糕,我正在努力讓它回到正軌,但有些地方存在一些真正的問題,因此完全有可能出現環境問題。如果這是可能的,因爲Silverlight運行在一個完全不同的框架中。我真的必須回到GDI +才能完成它嗎?

任何和所有的幫助,非常感謝。

+0

你真的試圖實例上的Web服務器Silverlight應用程序? Silverlight是一個瀏覽器插件。 – 2010-12-01 10:17:59

回答

1

原因這是行不通的,因爲你的ASP代碼運行在完整的.NET框架的上下文中,並試圖實例化Silverligt控件 - 就像異常說的那樣 - 程序集System.Xml與2.0.5.0版本無法加載/找到。

注版本:2.0.5.0。所有的Silverlight核心DLL都有這個版本,而不是像2.0.0.0那樣的「普通」.NET版本。

這並非偶然 - Silverlight的運行小CLR是正規CLR的子集的上下文中。它是不一樣的CLR,但大部分是完全一致的,雖然你的C#源代碼是完全一樣的,運行時間相同。

此刻,你不能用完整的基於.NET代碼像ASP.NET混合的Silverlight代碼。

有微軟內部正在做關於提取定期.NET和Silverlight(一對夫婦竟庫)更好地分享共同的核心了一些工作,但是這還沒有公開可用的。

另請注意,如果您的某個Silverlight 4.0庫的代碼不使用Silverlight特定代碼,則可以將其加載到常規.NET進程中,但反過來顯然是不可能的(Silverlight是子集,而不是相反方向)。

這一切不談,你可能會實現你的目標:

  1. 在服務器上運行的Silverlight應用程序OOB,並通過一些IPC機制
  2. 重新編譯代碼到WPF和ASP.NET頁面通信加載;當我說的重新編譯,我真的是適應/重構由於Silverlight UI不是WPF

既不的純子集的特殊性容易,但我會向它的清潔第二個選項傾斜。

相關問題