Как изменить часть ASP.NET проекта не перекомпилировав весь?
Есть большой проект - исходников нет, и в нём есть один отчет, который состоит из следующего:
Report.aspx:
<%@ Page Language="C#" AutoEventWireup="true"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Список дебиторов/кредиторов</title>
<meta http-equiv="Expires" content="Wed, 26 Feb 1999 08:21:57 GMT">
<meta http-equiv="Pragma" content ="no-cache">
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
...
function WebService()
{
this.HttpMethod = "POST";
this.Namespace = "http://integro.ru/estate/";
//this.Url = "<%=requestUrl %>/EstateSaleStatmentRevise.asmx";
this.Url = "TableCreaterService.asmx";
}
...
TableCreaterService.asmx:
<%@ WebService Language="C#" CodeBehind="TableCreaterService.asmx.cs" Class="Integro.InMeta.Estate.Forms.EstateSale.TurnoverBalanceSheet.TableCreaterService" %>
TableCreaterService.asmx.cs:
using System.Web.Services;
using Integro.InMeta.Estate.Forms.EstateRent;
using Integro.InMeta.Runtime;
using WebService = Integro.InMeta.Web.WebService;
namespace Integro.InMeta.Estate.Forms.EstateSale.TurnoverBalanceSheet
{
[WebService(Namespace = "http://integro.ru/estate/")]
public class TableCreaterService : WebService
{
private const string EstateSaleProcessClassName = "Estate/SaleProcess";
private const string LoadPlan = @"
<Estate_SaleContract query-all-properties='true'/>
<Estate_SaleProcessPurchaser>
<Subject>
<query-view name='SubjectName'/>
</Subject>
</Estate_SaleProcessPurchaser>
<Estate_SaleCalculationONF query-all-properties='true'>
<Estate_RentPaymentStep query-all-properties='true'/>
</Estate_SaleCalculationONF>
<Estate_PersonalAccountProcessLink>
<PersonalAccount>
<Estate_RentPayment query-all-properties='true'/>
<Estate_RentWriteOff query-all-properties='true'/>
</PersonalAccount>
</Estate_PersonalAccountProcessLink>";
private int RowNo;
private StringBuilder FErrorList;
...
}
}
Как его можно изменить?
Я пытался так: создал новую библиотеку на основании "TableCreaterService.asmx.cs" -"TableCreaterServiceNew.dll":
using System.Web.Services;
using Integro.InMeta.Estate.Forms.EstateRent;
using Integro.InMeta.Runtime;
using WebService = Integro.InMeta.Web.WebService;
using Integro.InMeta.Estate.Forms.EstateSale;
namespace TableCreaterServiceNew
{
[WebService(Namespace = "http://integro.ru/estate/")]
public class TableCreaterServiceNew : WebService
{
private const string EstateSaleProcessClassName = "Estate/SaleProcess";
private const string LoadPlan = @"
<Estate_SaleContract query-all-properties='true'/>
<Estate_SaleProcessPurchaser>
<Subject>
<query-view name='SubjectName'/>
</Subject>
</Estate_SaleProcessPurchaser>
<Estate_SaleCalculationONF query-all-properties='true'>
<Estate_RentPaymentStep query-all-properties='true'/>
</Estate_SaleCalculationONF>
<Estate_PersonalAccountProcessLink>
<PersonalAccount>
<Estate_RentPayment query-all-properties='true'/>
<Estate_RentWriteOff query-all-properties='true'/>
</PersonalAccount>
</Estate_PersonalAccountProcessLink>";
private int RowNo;
private StringBuilder FErrorList;
...
//Something to change
}
}
А в файле TableCreaterService.asmx прописал/заменил:
<%@ WebService Language="C#" Class="TableCreaterServiceNew.TableCreaterServiceNew" %>
Но это почему-то не сработало? В самом коде проблем нет - новая библиотека собирается, код там почти тот же самый, что и в файле "TableCreaterService.asmx.cs" проекта с небольшими корректировками. Библиотеку кидаю в BIN, но она не срабатывает - работает старый код