2010-09-29 70 views
2

我的任務是添加一個新應用程序,並將其添加到舊應用程序(Web應用程序)中。這是一個內部應用程序,管理層決定他們希望將它包裝在這個較舊的應用程序中。較早的應用程序是使用3.5框架的ASP.net Web應用程序。使用內聯框架的ASP.net

我原來的計劃是使用jQuery和Web服務(使用JSON和AJAX)。我的項目團隊真的很想使用Entity Framework(4.0)。由於我們可能會共享相同的外觀,所以數據完全是不同的數據庫。

昨天經過多次嘗試,我們發現了一些問題。我們在面向4.0框架的原始解決方案中創建了一個項目。我在該項目上創建了一個WebService,但是當我嘗試從3.5項目調用webservice時,我沒有收到錯誤,但是沒有得到返回字符串。我在Firebug上觀看,也沒有看到GET調用。

我的團隊做了一些更多的研究,發現了跨域問題和jQuery,所以看起來我們被實體框架(3.5)限制並保留在.net框架(3.5)上。我們嘗試將dataType更改爲jsonp,但調用WebService仍然無效。

但是,我想知道,爲了一致性(導航,設計等),管理層真的想把項目包裝在這個其他項目中。有沒有辦法讓3.5項目顯示我們從4.0項目生成的代碼(一個完全不同的解決方案,可能是一個不同的服務器)?我正在考慮iFrame用於工作的方式,但我根本不想使用iFrame。

+0

ASMX web服務或WCF? – 2010-09-30 19:24:04

+0

目前我正在使用ASMX - 對WCF還沒有任何瞭解。 – webdad3 2010-10-01 15:29:38

回答

1

解決此問題的一種方法是站起來處理數據庫調用的WCF Web服務。您可以使用.NET 4和EF4開發您的「數據層」,然後從.NET 3.5 ASP.NET應用程序中調用該層。這不是絕對最乾淨的解決方案,但它可以讓你獲得更新版本EF的好處。

+0

我喜歡將ASP.NET應用程序保持爲.NET 3.5並在.NET 4和EF 4中創建對象庫的想法。 您可以詳細說明這些.NET 4庫的設置過程嗎?在另一個Web應用程序或其他Web服務器上?這聽起來很不錯, 你碰巧在WCF WebServices上也有很好的教程嗎? :D – webdad3 2010-09-29 16:05:05

+0

@Jeff:其實我對WCF沒有太多的經驗,但我知道你可以從.NET 3.5應用程序調用.NET 4 WCF服務。這是WCF上的MSDN教程:http://msdn.microsoft.com/en-us/library/ms734712.aspx – 2010-09-29 17:13:00