C# 是否可以在不重新部署的情况下添加对网站的asmx web服务的引用?

C# 是否可以在不重新部署的情况下添加对网站的asmx web服务的引用?,c#,asp.net,web-services,C#,Asp.net,Web Services,我们有一个传统的ASP.NET网站(不是web应用程序,所以我可以自由编辑代码),在那里我很确定实时代码与源代码管理中的版本不匹配 我必须做一个小小的改变,将方法的逻辑转移到Web服务 所以旧方法是这样的: public byte[] CreatePivot(DataTable D, string PivotPath, string Parms) { ...LOGIC! } public byte[] CreatePivot(DataTable D, string PivotPath, st

我们有一个传统的ASP.NET网站(不是web应用程序,所以我可以自由编辑代码),在那里我很确定实时代码与源代码管理中的版本不匹配

我必须做一个小小的改变,将方法的逻辑转移到Web服务

所以旧方法是这样的:

public byte[] CreatePivot(DataTable D, string PivotPath, string Parms)
{
 ...LOGIC!
}
public byte[] CreatePivot(DataTable D, string PivotPath, string Params)
{
       ConsoleApplication4.PivotService.Service1 pivotService = new ConsoleApplication4.PivotService.Service1();
       byte[] bob = pivotService.CreatePivot(D, PivotPath, Params);
}
新方法将类似于:

public byte[] CreatePivot(DataTable D, string PivotPath, string Parms)
{
 ...LOGIC!
}
public byte[] CreatePivot(DataTable D, string PivotPath, string Params)
{
       ConsoleApplication4.PivotService.Service1 pivotService = new ConsoleApplication4.PivotService.Service1();
       byte[] bob = pivotService.CreatePivot(D, PivotPath, Params);
}
引用新服务时,会将以下内容添加到web.config

<applicationSettings>
        <ConsoleApplication4.Properties.Settings>
            <setting name="ConsoleApplication4_PivotService_Service1" serializeAs="String">
                <value>http://aservice.com/PivotWebservice.asmx</value>
            </setting>
        </ConsoleApplication4.Properties.Settings>
    </applicationSettings>

http://aservice.com/PivotWebservice.asmx
是否可以在不重新部署的情况下添加对新服务的引用?唯一需要的更改是添加到web.config中,还是还有其他内容

编辑:


我看到在live站点的目录中有一个App_Webreferences文件夹,每个web服务都有一个文件夹。此文件夹中有一个.disco、discmap和.wsdl文件。如果我把这些文件也复制过来也许会有用

因此,总而言之,您的生产站点与您的“本地来源”不匹配。你在使用源代码管理吗?听起来不像

在任何情况下,您都希望在生产站点中进行软件开发,对吗?只需编辑就可以了,没有测试,没有“部署”


是的,你能做到。这是您的选择。

为什么不花一天时间同步源代码,然后花两天时间更改公司部署网站的程序?如果您的备份(您有备份吗?)被破坏(通常在太晚之前不会被注意到),并且您的服务器崩溃,该怎么办?那你就不能把工作代码放回去了!解决这些问题后,只需在本地添加服务引用,对其进行测试,然后将站点部署到live server。没有其他明智的方法可以做到这一点。请告诉我们更多关于你的环境的信息,这样我们就可以判断我们是否会给你一根绳子来吊死自己。@CodeCaster我最终复制了这个网站,将它转换成一个web应用程序,并将它读给TFS…当然这是我最终的意图。我问的唯一原因是因为这是一个紧急的生产错误。我也很好奇这是否可能。@JohnSaunders假装我没有提到编辑实时代码部分,只是好奇这是否可能。我们并非都能在拥有自动化构建和完美部署过程的公司中工作。不幸的是,编辑实时代码是过去这里的工作方式。我正在将我们所有的网站转换为web应用程序,将它们添加到TFS,设置自动构建,引入正确的部署过程等等,但这个应用程序还没有看到love和production bug的重要性。@woggles:我的工作职责之一是取出应用程序,包括遗留应用程序,并通过自动化构建和部署、良好实践以及所有其他ALM功能将它们引入TFS。我们才刚刚开始。但从1995年开始,我就没有在生产服务器上编辑过生产代码。在2011年,这是没有理由的。没有一个这不是尖端的问题,做你正在做的事情是不专业的。我建议你再检查一遍这个问题,寻找“?”,然后阅读前面的部分,告诉我你的答案是否真的回答了他们的问题。@CodeCaster是的!这家伙有一个约翰没有试图回答的问题。当你不得不将一个问题改写成一个完全不同的问题以使你的答案符合你的要求时,这通常是一个不好的迹象。如果他说“不,你不能这样做,你应该……”或者“是的,你可以这样做,但你应该这样做……”那就好了,因为这实际上回答了问题,并提供了有用的建议。@Justin:这将是不专业的,而且可能是犯罪行为,对于我来说,我可以帮助这个人在不了解更多情况的情况下摧毁他的生产系统。例如,您假设,因为他问了这个问题,他知道潜在的后果,甚至他被授权在生产服务器上进行源代码更改。不可能!“给一个人一条鱼,你就喂他一天。给他一支枪,不要训练枪械,如果他向自己头部开枪,那不是你的错。”。不是我。这和其他问题有何不同?服务条款保护用户免于承担责任,而且在每个答案前面加上“您有权更改源代码吗?”