摘要:如何在发布模式下编译...我无法让它"接受"我想要做的事情.
我在VS2005 C#中有一个web服务项目,我正在尝试优化.我提出的意识之一是建议在发布模式下编译.我不确定在这里会发生什么,但这是我所看到的:
我右键单击项目并选择Properties然后选择Build选项卡我单击Configuration下拉框,设置为RELEASE并注意Output Path是\ bin我单击项目上的REBUILD并且DLL进入\ bin\debug文件夹(不是\ BIN)!这是从编译的输出窗口粘贴的片段(注意它将配置显示为"Debug Any CPU"以及稍后/ define:DEBUG; TRACE):
------ Rebuild All started: Project: TRIMBrokerService, Configuration: Debug Any CPU ------ C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Csc.exe /noconfig /nowarn:1701,1702 /errorreport:prompt /warn:4 /define:DEBUG;TRACE /reference:"C:\Program Files\Microsoft WSE\v3.0\Microsoft.Web.Services3.dll" /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Configuration.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.Mobile.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.Services.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll /reference:..\TRIMBrokerUtilities\TRIMBrokerUtil\bin\Debug\TRIMBrokerUtil.dll /debug+ /debug:full /optimize- /out:obj\Debug\TRIMBrokerService.dll /target:library FaultCode.cs FileService.asmx.cs Properties\AssemblyInfo.cs Properties\Settings.Designer.cs Settings.cs "Web References\ASMXwsTrim\Reference.cs" Compile complete -- 0 errors, 0 warnings TRIMBrokerService -> C:\Documents and Settings\johna\My Documents\Visual Studio 2005\Projects\WSE\TRIMBrokerPassingByteArray\TRIMBroker\TRIMBrokerService\bin\debug\TRIMBrokerService.dll ========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
我注意到我可以与Build选项卡对话框进行交互,当我将Configuration下拉列表框更改为Active(Debug)或只是Debug时,输出路径将更改为\ …
我根据Jeff Atwood在Coding Horror的文章:在Windows上设置Subversion,设置了Subversion.我完全按照这些步骤操作,我现在在我们的局域网中的Windows 2003服务器上运行SVNSERVE服务.
我也安装了TortoiseSVN,我一直在玩它并尝试了解更多信息,以便我可以在我们的商店中使用它.
我现在的问题是,是否有可能以某种方式避免使用定义用户和密码的conf/passwd文件.我希望能够使用Windows身份验证,但从我到目前为止收集的内容来看,Windows身份验证似乎只能使用Apache.
是否有一种简单的方法可以将Subversion配置为使用Windows身份验证而无需深入研究Apache?
编辑:我刚刚发现你有一个像这样的东西的姐妹网站叫serverfault.com.我应该在那里发布这个问题(即使我更像是开发人员而不是管理员)?
我在测试函数的返回值时遇到了奇怪的结果.这段代码在for循环中:
DialogResult result = EvalReturnFromWS(returnMsg);
switch (result)
{
case DialogResult.Yes:
case DialogResult.No:
continue;
default:
break;
}
Run Code Online (Sandbox Code Playgroud)
这是来自被调用函数的片段(在我的单元测试中,我总是单击"是"按钮):
DialogResult result = MessageBox.Show(mbText.ToString(), caption, button, icon);
switch (result)
{
case DialogResult.Yes:
return DialogResult.Yes;
case DialogResult.No:
return DialogResult.No;
case DialogResult.Cancel:
return DialogResult.Cancel;
}
Run Code Online (Sandbox Code Playgroud)
当我单击"是"时它返回DialogResult.Yes但返回调用代码,执行流程到第二个案例,这是"否",这是一个继续,这是我不打算.
在StackOverflow的其他地方,我看到一个线程,暗示编写一个"落地"案例,就像我对DialogResult一样.是的.
简而言之,如果是,我想在切换案例结束后用下一个语句恢复执行.也就是说,"堕落".
编辑 - 抱歉混淆.是的,顶部片段在for循环中.第二个片段在被调用的函数内(该代码发出MessageBox.Show).
当我登录到此Windows 2008 R2 Server并启动CMD窗口时,默认目录为:
C:\Users\SVC_asl2trim>
Run Code Online (Sandbox Code Playgroud)
所以我把它添加到PATH然后我发出:
C:\Users\SVC_asl2trim>set path
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32
\WindowsPowerShell\v1.0\;D:\Program Files\Hewlett-Packard\HP TRIM\;C:\Users\SVC_
asl2trim\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
C:\Users\SVC_asl2trim>
Run Code Online (Sandbox Code Playgroud)
我在上面的目录中有一个小的.bat文件,但我一直得到:
my.bat未被识别为内部或外部命令,可操作程序或批处理文件
这令人抓狂.我很少这么做....我知道有一些我忘了的伎俩.
一点背景: 我已经将Win2003服务器上的3个旧项目迁移到Win2008R2服务器(告别IIS 6,VS2008和Visual SourceSafe!).这个带有3个项目的Visual Studio 2012解决方案可以编译并运行,但我需要进行一些小的更改.在我做更多工作之前,我正在尝试将这些项目添加到"源代码管理"(带有本地工作区的TFS 14.0).两个项目没有问题.第3个项目不允许将某些项目添加到团队项目文件夹中并提供以下消息:
TF10122:路径'$/MDW/MortgageDataWeb/MDS/$ Common/$ BuildNaviagator.asp'在路径组件的开头包含'$'.删除'$'然后重试."
这个旧的经典ASP项目的本地路径是D:\ Projects\MortgageDataWeb\MDS,其中一个子文件夹名为$ Common,其中有几十个以文件名中的$开头且文件类型为.asp的文件.
我已经对这个错误消息进行了大量研究,我推断这个项目中的文件名和文件夹名称不能以(也不包含??)任何美元符号开头.大多数解释都指向"构建定义"和Workflow 4.0问题,我并不理解.
代码是在大约9年前编写的,我非常不愿意尝试全局源代码更改来从项目名称中删除违规的$.
有什么简单的方法可以将这个项目添加到TFS中,这样我可以继续进行微小的更改,并能够使用TF版本控制来跟踪事物吗?我还没准备好需要完整的ALCM功能(只想查看挂起的更改,签入,比较差异等).
编辑: 关于TFS的版本,我按照这里的建议:
https://msdn.microsoft.com/en-us/library/ms181475.aspx
包含有关如何查找版本的问题:
答:从Web浏览器和内部部署TFS,输入以下地址: http://ServerName:8080/tfs/_home/About.
对于Visual Studio Online,请输入以下地址:http://AccountName.visualstudio.com/_home/About.
所以,我在我的开发服务器上做了这个,并且看起来像14对我来说:

支持传递给C#函数的可选数据的最佳方法是什么?
我在.Net中有web服务功能,定义了5个参数:
[WebMethod]
public string UploadFile( string wsURL
, byte[] incomingArray
, string FileName
, string RecordTypeName
, MetaData[] metaDataArray)
Run Code Online (Sandbox Code Playgroud)
这个函数的代码不是太长(但也不是很简单),如果要处理任何MetaData [],我执行此测试的函数中只有一个位置:
if (metaDataArray.Length > 0)
{
Update update = BuildMetaData(metaDataArray);
treq2.Items = new Operation[] { sru, cin, update, fetch};
}
else
{
treq2.Items = new Operation[] { sru, cin, fetch};
}
Run Code Online (Sandbox Code Playgroud)
我需要上面的快速和脏版本,只需要4个参数(即没有"元数据"数组作为最终参数)所以我克隆了整个函数并删除了引用元数据的IF-ELSE块.丑陋,我知道.
[WebMethod]
public string UploadFileBasic( string wsURL
, byte[] incomingArray
, string FileName
, string RecordTypeName)
Run Code Online (Sandbox Code Playgroud)
现在我想做更好的事情,我正在寻找有关支持这一点的最佳方法的建议.我不想通过创建一个空数组作为第五个参数来加重客户端程序...我希望我的Web服务功能足够智能来处理这个可选数据.谢谢.
我有一个ASP.Net HTTPHandler从ColdFusion网页获取POST,其FORM类似于:
<form name="sendToHandler" action="http://johnxp/FileServiceDemo2005/UploadHandler.ashx" method="post">
<input type="hidden" name="b64fileName" value="fileservice.asmx.xml" />
<input type="hidden" name="strDocument" value="Document" />
<input type="submit" name="submitbtn" value="Submit" />
Run Code Online (Sandbox Code Playgroud)
这个.Net Handler将字符串返回到POSTing ColdFusion页面的最佳方法是什么?
编辑更新2009年8月14日:
我在.ashx文件中提出的解决方案涉及保存发布我的处理程序的.cfm文件的URL,并附加一个查询字符串,其中包含我想要与ColdFusion通信的结果字符串.我的CF同事使用此查询字符串数据的存在与否来相应地格式化.cfm网页:
public void ProcessRequest(HttpContext context)
{
string returnURL = context.Request.ServerVariables["HTTP_REFERER"]; // posting CFM page
string message = UploadFile(context); // handles all the work of uploading a file
StringBuilder msgReturn = new StringBuilder(returnURL);
msgReturn.Append("?n=");
msgReturn.Append(HttpUtility.UrlEncode(TRIMrecNumAssigned));
msgReturn.Append("&m="); // this is just a msg with performance data about the upload operation (elapsed time, size of file, etc.)
msgReturn.Append(HttpUtility.UrlEncode(message)); …Run Code Online (Sandbox Code Playgroud) 我有一个绑定到ListView控件的SQLDataSource,但我想将绑定记录的一部分放入HTML TITLE属性.这是我想要更改的代码隐藏文件,因此可以使用Eval根据数据内容构建动态TITLE:
Public Partial Class zShowAd
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Page.Title = " Dynamically set in ASPX page"
'how to use Eval here instead of the above constant ??
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
这是相应的.aspx文件:
<%@ Page Language="vb" AutoEventWireup="false" MasterPageFile="~/zSEO.master"
CodeBehind="zShowAd.aspx.vb" Inherits="Zipeee.zShowAd" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div>
<asp:ListView ID="ShowAd" runat="server" DataSourceID="aPosting">
<LayoutTemplate>
<asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<div>
<div id="wrapper">
<div id="header"></div>
<div id="main">
<div id="nav"> AdID: <%#Eval("AdID")%></div>
<div id="extras">Price: …Run Code Online (Sandbox Code Playgroud) 我有一个在WinXP机器(IIS 5.1)上开发和单元测试的Web应用程序项目.它已发布到Win2003Server(IIS 6.0).该应用程序的一项功能是发送一封带有"回复"标题的电子邮件(后面的代码段).在IIS 5.1计算机上,Reply-To在标题中正确显示.从IIS 6.0 PC发送时,标头不包含Reply-To地址(见下文):
Public Shared Sub SendEmail_withReplyTo(ByVal emailfrom As String, _
ByVal emailto As String, _
ByVal vbody As String, _
ByVal vsubject As String, _
ByVal msgcc As String, _
ByVal msgbcc As String, _
ByVal sReplyTo As String)
Dim MyMsg As New MailMessage
ErrorTrap.ErrorMsg = Nothing
With MyMsg
.From = New MailAddress(emailfrom)
.Headers.Add("Reply-To", sReplyTo)
.To.Add(emailto)
If msgcc.Length > 0 Then
.CC.Add(msgcc)
End If
If msgbcc.Length > 0 Then
.Bcc.Add(msgbcc)
End If
.Subject = vsubject
.IsBodyHtml …Run Code Online (Sandbox Code Playgroud) 我小心翼翼地进入 WCF,试图按照教程将我的 ASMX 项目转换为一个新的 WCF 项目,我偶然发现了一个关于在 WCF 中编写构造函数的谜团。
我的 ASMX 网络服务允许我有一个构造函数(参见:同名,无返回值):
namespace sdkTrimFileServiceASMX
{
public class FileService : System.Web.Services.WebService
{
Database db;
string g_EventSource = "CBMI-TrimBroker";
string g_EventLog = "Application";
public FileService()
{
try
{
if (!EventLog.SourceExists(g_EventSource))
EventLog.CreateEventSource(g_EventSource, g_EventLog);
}
catch (InvalidOperationException e)
{
e.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
我将其转换为 WCF 服务应用程序的尝试给出了以下编译器投诉:
The namespace 'sdkTRIMFileServiceWCF' already contains a definition for 'FileService'
Run Code Online (Sandbox Code Playgroud)
这是 WCF 代码(开始片段):
namespace sdkTRIMFileServiceWCF
{
[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]
public class FileService : IFileService // err msg points to this line
{
Database …Run Code Online (Sandbox Code Playgroud) asp.net ×4
c# ×4
arguments ×1
arrays ×1
asmx ×1
azure-devops ×1
batch-file ×1
coldfusion ×1
command-line ×1
compilation ×1
constructor ×1
data-binding ×1
dialogresult ×1
eval ×1
header ×1
httphandler ×1
mailmessage ×1
messagebox ×1
overloading ×1
page-title ×1
post ×1
reply ×1
svn ×1
tfs ×1
tortoisesvn ×1
vb.net ×1
wcf ×1
windows ×1
winforms ×1