我有点问题.我正在将我的源代码存储库从一台机器移动到另一台机器,并且在此过程中我正在对存储的内容进行一些剔除,因为自从我开始以来,我已经了解了有关创建/管理存储库的更多信息.
问题是我们正在使用devexpress的dxperience工具,它使用.net许可证系统(licenses.licx).最初我在存储库中有这个许可证,我听说这不一定是最好的主意.所以我没有将它包含在存储库中.但是现在,当我从我的机器上的存储库(在移动之前检查的同一台机器)签出项目时,它正在查找许可证文件而不是生成它(我认为)它应该是.
c# licensing visual-studio-2008 licenses.licx emptylicenseslicx
我想在2个单独的表上进行插入和更新,但是将它们放在1个事务中).
基本上在伪代码中我想做类似的事情:
MySqlTransaction trans = null;
try
{
_Connection.Open();
trans = _Connection.BeginTransaction();
insertCmd.Transaction = trans;
updateCmd.Transaction = trans;
Int32 id = insertCmd.ExecuteNonQuery();
updateCmd.Parameters.Add(new MySqlParameter("oid", MySqlDbType.Int32).Value = id);
updateCmd.ExecuteNonQuery();
}
catch(MySqlException)
{
if(trans != null)
trans.RollBack();
}
finally
{
_Connection.Close();
}
Run Code Online (Sandbox Code Playgroud)
这是可能的还是我以错误的方式解决这个问题?
我正在/如此序列化一个对象:
public class myClass : ISerializable
{
public List<OType> value;
public myClass(SerializationInfo info, StreamingContext context)
{
this.value = (List<OType>)info.GetValue("value", typeof(List<OType>));
}
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("value", value, typeof(List<OType>));
}
}
Run Code Online (Sandbox Code Playgroud)
列表中的对象具有Serializable属性.序列化时,不会抛出任何错误,列表永远不会为空,但是当反序列化我的所有列表都为空时,我不知道为什么.
我将此标记为CQ的回答.我能够生成一个小的测试应用程序,它正确地使用我正在尝试使用的对象进行序列化/反序列化但我仍然无法让它在我的生产代码中工作,但我怀疑它是小的我我失踪了.
我正在尝试创建一个表单,在处理特定任务时将其动画化(作为委托人传递给构造函数).它工作正常,但我遇到的问题是,如果我想要执行的特定方法的返回类型为void,我无法实例化我的泛型类的副本.
我知道这是设计和所有,但我想知道是否有这样的情况已知的解决方法.
如果它有助于我的所有窗体看起来像这样(为简洁起见修剪):
public partial class operatingWindow<T> : Form
{
public delegate T Operation();
private Operation m_Operation;
private T m_ReturnValue;
public T ValueReturned { get { return m_ReturnValue; } }
public operatingWindow(Operation operation) { /*...*/ }
}
Run Code Online (Sandbox Code Playgroud)
我称之为:
operatingWindow<int> processing = new operatingWindow<int>(new operatingWindow<int>.Operation(this.doStuff));
processing.ShowDialog();
// ...
private int doStuff()
{
Thread.Sleep(3000);
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在开发这里推荐的wcf服务.它在开发原始.NET 2.0 Web服务时解决了我最初的命名空间冲突问题,但我遇到了另一个问题.
我试图传递给wcf服务的对象在客户端中用于聚合来自用户的一堆信息,并且它的一些字段被数据绑定到ui控件(因此实现了PropertyChangedEventHandler).当我尝试在我的客户端项目中编译由svcutil生成的代理时,我得到了标题这个问题的错误.
将所有数据从这个对象中拉出并放入一个类中进行发送(然后重建原始类型)似乎是多余的 - 更不用说花费很长时间了.
有解决方法吗?
这更像是一个关于性能的学术问题,而不是一个现实的"我应该使用什么",但我很好奇,因为我根本不涉及IL,看看是什么构造的,我手边没有大数据集.反对.
那么哪个更快:
List<myObject> objs = SomeHowGetList();
List<string> strings = new List<string>();
foreach (MyObject o in objs)
{
if (o.Field == "something")
strings.Add(o.Field);
}
Run Code Online (Sandbox Code Playgroud)
要么:
List<myObject> objs = SomeHowGetList();
List<string> strings = new List<string>();
string s;
foreach (MyObject o in objs)
{
s = o.Field;
if (s == "something")
strings.Add(s);
}
Run Code Online (Sandbox Code Playgroud)
请记住,我真的不想知道string.Add(s)的性能影响(因为无论需要做什么操作都无法真正改变),只是设置每次迭代之间的性能差异(让我们看看)假设s可以是任何原始类型或字符串)每次迭代时调用对象上的getter.
我正在尝试使用Subversion repo设置我的家庭服务器(经过一些更改).
我在Windows Server 2003服务器上卸载了重新安装的VisualSVN Server,并且回购的地址(即URL)是https://server.network.local/svn/.
我可以通过IE浏览到该地址,并获取存储库列表(我必须点击过去的证书错误),但当我指向它时,我得到它
OPTIONS of 'https://server.network.local/svn': Could not resolve hostname
'server.network.local': No such host is known.
(https://server.network.local)
Run Code Online (Sandbox Code Playgroud)
我可以ping和tracert到服务器没有问题,所以我不知道这笔交易是什么.
我正在摆弄一个wcf服务,我创建了一个简单的测试服务.当我'运行'服务时,我得到一个目录列表,即服务所在的文件夹.我可以点击'myservice.svc',它会把我带到我期望的页面,所以没关系.
我觉得这是错误的.是吗?如果是这样,它是如何修复的?
也许我只是没有得到它,但是我有一项服务已部署到IIS 6计算机上。该机器具有一个LAN地址和一个公共Internet地址。
我到底应该如何发布可以访问的服务?
起初我想:没什么大不了的,两个端点。所以我有
<endpoint
address="Address 1"
binding="wsHttpBinding"
bindingConfiguration="DefaultBindingConfiguration"
name="RemoteEndpoint" />
<endpoint
address="Address 2"
binding="wsHttpBinding"
bindingConfiguration="DefaultBindingConfiguration"
name="LocalEndpoint" />
Run Code Online (Sandbox Code Playgroud)
客户端代码如下所示:
public void createServiceProxy()
{
if (Util.IsOperatingLocally())
this.proxy = new ProxyClient("LocalEndpoint");
else
this.proxy = new ProxyClient("RemoteEndpoint");
}
Run Code Online (Sandbox Code Playgroud)
没有骰子。无法添加服务参考。
没有协议绑定与给定的地址“地址1”匹配。协议绑定是在IIS或WAS配置的站点级别配置的。
然后我想:也许主机标签及其dns标签会有所帮助。不,那是为了认证。
然后我想:我将net.tcp用作本地端点。糟糕... IIS 6不支持net.tcp。
然后我想:我知道,ProxyClient构造函数将remoteAddress字符串作为其第二个参数。现在看起来像:
<endpoint
address=""
binding="wsHttpBinding"
bindingConfiguration="DefaultBindingConfiguration"
name="MyEndpointName" />
public void createServiceProxy()
{
if (Util.IsOperatingLocally())
this.proxy = new ProxyClient("MyEndpointName", "Address 1");
else
this.proxy = new ProxyClient("MyEndpointName", "Address 2");
}
Run Code Online (Sandbox Code Playgroud)
显然不是。尝试实例化ProxyClient时...
在ServiceModel客户端配置部分中找不到名称为'MyEndpointName'和合同为MyService.IService'的终结点元素。
这导致我进入app.config,其生成的客户端部分如下所示:
<client>
<endpoint address="http://localhost:3471/Service.svc" …Run Code Online (Sandbox Code Playgroud) 我有一个玩具问题,感觉应该很简单。我想要一个像 Join-Path 这样支持管道的函数。称之为构建路径。因此,这些语句(这是我的测试 1-4)应该是等效的:
Get-Location | Build-Path Test
Get-Location | Build-Path -Right Test
Build-Path -Left (Get-Location) -Right Test
Build-Path (Get-Location) Test
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多方法,最接近的是我可以获得这两个函数(互斥):
A:对这两个价值观都有明确的立场;测试 1 失败
function Build-Path
(
[Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)]
[String] $Left,
[Parameter(Mandatory=$true, Position=1)]
[String] $Right
)
{
Join-Path $Left $Right
}
Run Code Online (Sandbox Code Playgroud)
B:管道参数上无位置,Right位置为0;测试 4 失败
function Build-Path
(
[Parameter(Mandatory=$true, ValueFromPipeline=$true)]
[String] $Left,
[Parameter(Mandatory=$true, Position=0)]
[String] $Right
)
{
Join-Path $Left $Right
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试以多种方式使用 ParameterSets(没有保存我的尝试),但没有成功,我现在有点困惑。
想法?
c# ×8
wcf ×3
.net-3.5 ×1
delegates ×1
generics ×1
licensing ×1
mysql ×1
performance ×1
powershell ×1
svn ×1
tortoisesvn ×1
transactions ×1
web-services ×1