ASP.NET aspx文件和.dll库链接?

时间:2015-09-07 22:16:19

标签: c# asp.net .net dll

我不是.NET开发人员,所以我需要你的帮助。

背景:

我继承了ASP.net项目。该项目是一个跟踪现金流量交易的系统。因此,它在SQLSERVER中有5个表,用于跟踪用户,项目,银行,交易和受益人。用户可以添加项目,银行,交易和受益人(客户)。 该软件的当前状态是有效的,并且已经使用了大约2年。但是需要进行更改。 我已经设法在我的本地计算机上运行该软件,作为了解BAM所有层次的第一步 - 银行账户管理:

  1. SQLSERVER后端

  2. 查看由aspx页面组成的图层。 IIS有一个指向该文件夹的应用程序BAM。 IIS localhost BAM.dll potential cs files

  3. BAM.dll形式的控制器层,或至少是我的理解。我在BAM live服务器上发现了一堆.cs文件,但它们都是自动生成的。

  4. 的问题:

    1)如果所有C#文件都是自动生成的,我不明白BAM.dll是如何存在的。 Visual Studio中是否有一个从aspx页面生成C#的功能?或者它是否意味着编译BAM dll需要原始的C#,那么应该继续使用它们?从cs文件中可以看到,名称不是人为生成的 enter image description here

    每个cs文件都有这个

    
    
    //
    <auto-generated>
      // This code was generated by a tool. // Runtime Version:2.0.50727.3603 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. //</auto-generated>
    &#13;
    &#13;
    &#13;

    2)如果我想编译和处理这个项目,我该如何处理?我在visual studio中打开一个web asp项目并导入aspx文件。我知道aspx文件使用的是@Page指令,它指定了MasterPageFile,CodeBehind和Inherits。 例如AddTransaction.aspx

    &#13;
    &#13;
    <%@ Page Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="AddTransaction.aspx.cs" Inherits="BAM.AddTransaction" %>
    &#13;
    &#13;
    &#13;

    我似乎没有弄清楚,例如,dll如何在Web.Config中使用数据库连接字符串。我运行了项目,BAM.dll使用了很好的连接字符串,但是在我的脑海中对于如何在项目中合并/编译dll存在很大的困惑,可能是因为我找不到源代码?!

      

    添加name =&#34; LocalSqlServer&#34; connectionString =&#34; Data Source = Lenovo-PC; Initial Catalog = BAM; User Id = bam; Password = secret;&#34;

    3)这个项目的文件/文件夹结构是什么样的?

    • 图片文件夹
    • bin文件夹(包含BAM.dll .pdb)
    • DAL文件夹(包含1 xml国家/地区代码文件)
    • Aspx文件
    • cs文件夹(编译到bin文件夹中)????
    • MASTER文件
    • css文件
    • 的Web.config

    BAM.dll显然有很好的东西,但不是我找到的那些cs#文件。例如,如果您输入错误的用户名/密码,则会显示“无效的用户名或密码”。没有其他文件具有该字符串,这使得我相信那些cs#在调试/编译期间是一些临时文件。

2 个答案:

答案 0 :(得分:1)

我认为您使用的是WebSite的编译版本,所以您需要获取源代码,我生成一个示例项目,树文件列表应如下所示:

C:.
│   About.aspx
│   About.aspx.cs
│   About.aspx.designer.cs
│   Contact.aspx
│   Contact.aspx.cs
│   Contact.aspx.designer.cs
│   Default.aspx
│   Default.aspx.cs
│   Default.aspx.designer.cs
│   favicon.ico
│   Global.asax
│   Global.asax.cs
│   packages.config
│   Site.Master
│   Site.Master.cs
│   Site.Master.designer.cs
│   Site.Mobile.Master
│   Site.Mobile.Master.cs
│   Site.Mobile.Master.designer.cs
│   ViewSwitcher.ascx
│   ViewSwitcher.ascx.cs
│   ViewSwitcher.ascx.designer.cs
│   Web.config
│   Web.Debug.config
│   Web.Release.config
│   WebApplication1.csproj
│   WebApplication1.csproj.user
│
├───Account
│       Login.aspx
│       Login.aspx.cs
│...
├───App_Data
├───App_Start
│       AuthConfig.cs
│       RouteConfig.cs
│
├───bin│
├───Content
│   │   Site.css
│   │
│   └───themes
│       └───base
│           │   jquery-ui.css
│           │...
│           ├───images
│           │       ui-bg_flat_0_aaaaaa_40x100.png
│           │       ui-bg_flat_75_ffffff_40x100.png
│           │...
│           └───minified
│               │   jquery-ui.min.css
│               │   jquery.ui.accordion.min.css
│               │...
│               └───images
│                       ui-bg_flat_0_aaaaaa_40x100.png
│                       ui-bg_flat_75_ffffff_40x100.png
│                       ui-bg_glass_55_fbf9ee_1x400.png
│...
├───Images
│       accent.png
│       bullet.png
│...
├───obj
├───Properties
│       AssemblyInfo.cs
│
└───Scripts
        jquery-1.8.2.intellisense.js
        jquery-1.8.2.js

获得正确的代码后:

  1. 将使用获得的代码生成已编译的BAM.dll
  2. 当应用程序需要连接字符串时,将使用类似于以下内容的代码获取字符串
  3. string connection = ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString;
    
    1. 它应该像我已经提到的结构

    2. 如果您想更新或添加功能,您需要查看有关ASP.Net的一些教程并了解其工作原理

    3. 希望这个帮助

答案 1 :(得分:1)

我想要的只是确认我错过了C#文件。我认为.NET中可能有一个工具可以直接从aspx文件中生成控制器!!

很公平,我得到了原始开发人员的帮助,他向我提供了整个csproject和相关的c#文件!!