Demonstra Passo a passo: Desenvolver sites da Web usando várias linguagens de programação
Por padrão, a pasta App_Code não permite várias linguagens de programação.No entanto, você pode modificar a estrutura e as definições de configuração do seu aplicativo Web para suportar várias linguagens de programação como Visual Basic e C#.Isso permite que o ASP.NET crie vários conjuntos de módulos (assemblies), um para cada linguagem.Para obter mais informações, consulte Pastas de código compartilhado em sites da Web ASP.NET.Os desenvolvedores geralmente incluem várias linguagens de programação em aplicativos da Web para oferecer suporte a várias equipes de desenvolvimento que operam independentemente e preferem diferentes linguagens de programação.
Essa explicação passo a passo explica como adicionar várias linguagens de programação a um aplicativo ASP.NET.
Criando o Site Web
Se você já tiver criado um site Web no Visual Web Developer, completando Demonstra Passo a passo: Criando um Basic página da Web no Visual Web Developer, você pode usar esse site Web e ir para a próxima seção.Caso contrário, crie um site e uma página novos, seguindo estas etapas.
Para criar um site do sistema de arquivos
Abra o Visual Web Developer.
Sobre o Arquivo menu, clicar Novoe, em seguida, clicar Site da Web.If you are using Visual Web Developer Express, on the File menu, click NewWeb Site.
The Novo site caixa de diálogo é exibida.
Em O Visual Studio installed templates, clicar Site da Web do ASP.NET.
Na primeira caixa Location, selecione File System; na segunda, digite o nome da pasta onde você deseja manter as páginas do seu site.
Por exemplo, digite o nome da pasta C:\WebSites\BulkUpdate.
Na lista Language, clique a linguagem de programação com a qual você prefere trabalhar.
Clique em OK.
Visual Web Developer cria a pasta e uma nova página chamada Default.aspx.
Criando classes específicas do idioma
Nesta parte da explicação passo a passo, você criará arquivos de classe simples em duas linguagens, Visual Basic e C#.
Para adicionar arquivos de classe específicos à pasta App_Code
Se o seu site da Web ainda não tiver uma pasta App_Code, faça o seguinte:
No Solution Explorer, selecione o nome do site.
No menu WebSite, clique em Adicionar pasta ASP.NET e, em seguida, clique em App_Code.
No Solution Explorer, clique com o botão direito do mouse na pasta App_Code e, em seguida, clique em New Folder.
Nomeie a nova pasta "CSCode".
Selecione a pasta CSCode.
No menu Website, clique em Add New Item.
A caixa de diálogo Add New Item é exibida.
Na caixa de diálogo Add New Item, escolha o modelo Class, nomeie a classe "CSExample", selecione C# como a linguagem e clique em Add.
No Solution Explorer, clique duas vezes no arquivo CSExample.cs para abri-lo.
Adicione o seguinte código para o arquivo CSExample.cs, substituindo a classe CSExample existente já no arquivo:
public class CSExample { private string teamString; public CSExample() { TeamString = "C# Code"; } public string TeamString { get { return teamString; } set { teamString = value; } } }
Crie uma pasta e uma classe para o código Visual Basic, repetindo as etapas 2 a 7, usando os seguintes valores:
Nova pasta: VBCode
Novo arquivo de classe: VBExample
Observação: Não se esqueça definir a linguagem como Visual Basic ao criar o novo arquivo de classe Visual Basic.
Adicione o seguinte código para o arquivo VBExample.vb, substituindo a classe VBExample existente já no arquivo:
Public Class VBExample Private teamStr As String Public Sub New() TeamString = "Visual Basic Code" End Sub Public Property TeamString() As String Get Return teamStr End Get Set(ByVal Value As String) teamStr = Value End Set End Property End Class
Modificando o arquivo Web.config
Depois de criar subpastas separadas para cada linguagem de programação, você deve alterar a configuração do site para que o ASP.NET compile as subpastas separadamente.
Para modificar o arquivo Web.config para suportar várias linguagens de programação
No Solution Explorer, selecione o nome do site.
Se o seu site da Web ainda não tiver um arquivo Web.config, faça o seguinte:
No menu Website, clique em Add New Item.
Escolha Web Configuration File e, em seguida, clique em Adicionar.
Clique duas vezes no arquivo Web.config para abri-lo.
Modifique a seção <compilation> para incluir um nó <codeSubDirectories>, copiando a seção a seguir e colando-a como um nó filho da seção <compilation>:
<codeSubDirectories> <add directoryName="CSCode"/> <add directoryName="VBCode"/> </codeSubDirectories>
Observação: Qualquer definição desta seção em Machine.config é substituída pelas configurações no arquivo Web.config.Além disso, a ordem das entradas de configuração é a ordem que essas entradas serão criadas e vinculadas.
Testando as classes
Agora você pode testar se seu site da Web pode usar as classes em ambas as linguagens de programação.
Para ver os resultados de usar várias linguagens de programação
Se o seu site da Web ainda não possui uma página Default.aspx, faça o seguinte:
No Solution Explorer, clique com o botão direito do mouse no nome do site e, em seguida, clique em Add New Item.
Selecione Web Form, nomeie a página "Default.aspx" e, em seguida, clique em Adicionar.
No Solution Explorer, clique duas vezes na página Default.aspx.
Adicione um controle Button à página Default.aspx.
Defina texto do controle Button para "Class Language" e a identificação do botão para "classLanguage".
Adicione um controle Label para a página Default.aspx, defina sua propriedade ID como "classLabel" e desmarque sua propriedade Text.
No modo de exibição de design, clique duas vezes no controle Button para criar um manipulador de eventos para o seu evento Click.
Adicione o seguinte código ao manipulador classLanguage_Click:
CSExample CSCode = new CSExample(); VBExample VBCode = new VBExample(); if (classLabel.Text == CSCode.TeamString.ToString()) { classLabel.Text = VBCode.TeamString.ToString(); } else { classLabel.Text = CSCode.TeamString.ToString(); }
Dim CSCode As CSExample = New CSExample() Dim VBCode As VBExample = New VBExample() If classLabel.Text = CSCode.TeamString.ToString() Then classLabel.Text = VBCode.TeamString.ToString() Else classLabel.Text = CSCode.TeamString.ToString() End If
No Solution Explorer, clique com o botão direito do mouse em Default.aspx e selecione Set As Start Page.
Execute o site da Web e pressione o botão "Class Language" para alternar entre as duas classes de linguagem diferentes.
Consulte também
Conceitos
Pastas de código compartilhado em sites da Web ASP.NET
Ciclo de Vida do Aplicativo ASP.NET uma visão geral para o IIS 5.0 e 6.0
ASP.NET Precompilation Overview