在建立新的Silverlight瀏覽應用程式時,必須要選擇使用ASP.NET Web 應用程式專案或是ASP.NET 網站。我們這邊來比較這兩者有什麼不同的地方。
.sln ==> ASP.NET 網站 增加以下設定
1: ProjectSection(WebsiteProperties) = preProject2: TargetFramework = "3.5"3: Debug.AspNetCompiler.VirtualPath = "/SilverlightWCFDemo.Web"4: Debug.AspNetCompiler.PhysicalPath = "SilverlightWCFDemo.Web\"
5: Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\SilverlightWCFDemo.Web\"
6: Debug.AspNetCompiler.Updateable = "true"7: Debug.AspNetCompiler.ForceOverwrite = "true"8: Debug.AspNetCompiler.FixedNames = "false"9: Debug.AspNetCompiler.Debug = "True"10: Release.AspNetCompiler.VirtualPath = "/SilverlightWCFDemo.Web"11: Release.AspNetCompiler.PhysicalPath = "SilverlightWCFDemo.Web\"
12: Release.AspNetCompiler.TargetPath = "PrecompiledWeb\SilverlightWCFDemo.Web\"
13: Release.AspNetCompiler.Updateable = "true"14: Release.AspNetCompiler.ForceOverwrite = "true"15: Release.AspNetCompiler.FixedNames = "false"16: Release.AspNetCompiler.Debug = "False"17: VWDPort = "24329"18: DefaultWebSiteLanguage = "Visual C#"19: ProjOutputReferences = "{15012D19-EC5F-4E9D-9C93-EF41083152E8}|ClientBin|false;"20: EndProjectSection
web.config ==> ASP.NET 網站 增加了vb 的設定
1: <system.codedom>2: <compilers>3: <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4"4: type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">5: <providerOption name="CompilerVersion" value="v3.5"/>6: <providerOption name="OptionInfer" value="true"/>7: <providerOption name="WarnAsError" value="false"/>8: </compiler>9: </compilers>10: </system.codedom>
Default.aspx ==> 網站用CodeFile;應用程式用CodeBehind,並配合Namespace使用
ASP.NET 網站
1: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
ASP.NET Web 應用程式專案
1: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="SilverlightWCFDemo.Web._Default" %>
Default.aspx.cs
ASP.NET 網站
1: public partial class _Default : System.Web.UI.Page2: {3: protected void Page_Load(object sender, EventArgs e)4: {5:6: }7: }
ASP.NET Web 應用程式專案
1: namespace SilverlightWCFDemo.Web2: {3: public partial class _Default : System.Web.UI.Page4: {5: protected void Page_Load(object sender, EventArgs e)6: {7:8: }9: }10: }
結論:
建議以ASP.NET 網站來建置新的Silverlight網站,以獲得完整的設定描述,並運用ASP.NET Web 應用程式專案的繼承方式,以方便對網站做模組化應用。
如果使用MasterPage來建立網站,又沒有使用Namespace的繼承方式,那在使用使用者控制項(User Control)時,就不能夠繼承UserControl類別了。
參考資料:
沒有留言:
張貼留言