在我看来,混淆是一种落入"默默无闻"或"虚假保护"阵营的想法.为保护知识产权,有版权; 为了防止发现安全问题,我们正在解决这些问题.简而言之,我认为它是解决社会问题的技术方案.那些几乎从不工作.
但是,我似乎是我们开发团队中唯一一个有这种感觉的人,所以我要么错了,要么只需要令人信服的论据.我们的产品使用.NET,并且一个开发人员建议使用.NET Reactor(顺便提一下,这个SO线程也是如此).
.NET Reactor通过将任何纯.NET程序集(用C#,VB.NET,Delphi.NET,J#,MSIL编写)与本机机器代码混合,完全阻止任何反编译.
所以,基本上,你一次性抛弃字节码的所有优点?
混淆是否有良好的工程效益?
[我们有一个Windows Forms数据库前端应用程序,除其他外,可以用作CMS; 客户端创建结构,填充它,然后使用基于ASP.NET WebForms的站点在Web上公开显示结果.为了增加灵活性,有时会强制它们将实际HTML标记直接输入到文本字段中,然后最终作为数据库中的varchar.这有效,但它远非用户友好.]
因此......一些客户想要一个用于HTML的WYSIWYG编辑器.我想说服他们,他们会从使用更简单的语言(即Markdown)中受益.理想情况下,我想要的是一个WYSIWYG编辑器.他们不需要桌子,也不需要任何复杂的桌子.
粗略搜索显示.NET Markdown到HTML转换器,然后我们有一个基于Windows窗体的文本编辑器输出HTML,但显然没有任何东西将两者结合在一起.因此,我们仍然会在其中添加带有标记的varchars,但至少它既具有人类可读性,又易于解析.
这是否 - 输出Markdown的WYSIWYG编辑器,后来在ASP.NET中解析成HTML - 是否可行?还有其他建议吗?
我们的用例是一个负责帐户,会话,许可证等的数据库-需要在客户端启动时对其进行轮询,因此高可靠性至关重要。因此,我们希望在物理上独立的网络中的不同服务器之间进行复制,以防整个数据中心发生故障。我已经成功建立了对同一网络中另一台服务器的推送订阅,因此通常可以正常工作。现在需要连接到网络外部服务器。
复制不能直接在网络之间进行。Microsoft 建议使用VPN或Web复制。后者使我感到效率低下(他们的确说:“注意:Web同步旨在与便携式计算机,手持设备和其他客户端进行数据同步。Web同步不适用于大量的服务器到服务器应用程序。”)
前者VPN可以工作,但是我仍然认为它是连续运行VPN连接的不必要的复杂解决方案(更不用说增加了安全隐患)。我宁愿只运行SSH隧道。但是,我找不到任何有关如何执行此操作的文章,并且与MySQL无关。
我在订阅服务器上设置了SSH服务器,并使用PuTTY建立了从<publisher>:1434
到的隧道<subscriber>:1433
。但是,我无法使SQL Server Management Studio以这种方式进行连接(我不确定它是否支持:
端口语法)。我还在<publisher>
“ SQL Server配置管理器” 上设置了一个别名,以@@servername
of <subscriber>
指向localhost:1434
。连接到那似乎也不起作用。
我使用了推送订阅选项,因此我认为发布者需要连接到订阅者,而不是“倒过来”。
这两个服务器都使用默认实例,并在Windows Server 2003 SP 2上运行SQL Server 2005 SP2。订阅服务器上的SSH服务器为freeSSHd 1.2.1。
这有可能吗?我还有另一种方法可以利用SSH假装该计算机存在于同一网络中吗?还是我必须使用VPN?
我正在.NET中实现自定义URL处理程序.为了测试这个,我创建了一些不同的.url
文件并将它们放在我的桌面上.这通常可以正常工作,但如果我更改文件的内容,特别是URL=
行,则表现得很奇怪.这样做无效 - 旧URL继续打开.但是,重命名文件是有效的.该文件如下所示:
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,0
[InternetShortcut]
URL=myCustomScheme://some/url/pointing/somewhere
IDList=
Run Code Online (Sandbox Code Playgroud)
我通过New→Shortcut创建的所有快捷方式都会收到相同的UUID,因此更改它可能无济于事.
Windows中是否有一些内部.url文件/ URL映射缓存?
我正在试图找出我应该(和允许)随我的安装程序一起提供的图标.我宁愿不使用自定义应用程序,因为现在许多应用程序(包括Microsoft自己的一些应用程序,如Office和Visual Studio)都可以使用.我希望这个图标能够被识别为"这会安装一个软件",而不是"图形设计师有点太多的乐趣".
所以,我浏览了最近版本Windows中的常用图标,所有这些图标仍然可以在当前版本中找到:
从.msi
目前的Windows 10技术预览版开始,文件的图标仍然是15年历史的Office 2000/Windows Installer 1.0.最大值为32x32,缺少alpha通道.例如,这意味着当放在桌面上时它会缩放得很笨拙.
Windows XP引入了一种新风格.今天仍有大量的应用程序安装程序.
这是Vista的风格.我很少看到第三方使用它.
最后,Windows 8的内容相同:第三方似乎没有使用它.
奖励:setup.exe
使用最新版本的Visual Studio创建的ClickOnce引导程序文件有一个难以形容的图标,奇怪的是再次缺少大于32x32的任何内容.
我发现最吸引人的Windows 8.它可能有点过于通用,但它意味着"运行这会在您的机器上放置一些东西"而不建议像软盘或光盘这样的传统技术(我的应用程序通过Web分发).
然而,鉴于我从未见过应用程序使用此图标,我想知道这只是一种趋势,人们更愿意发送自己的自定义图标(或者,懒惰,仍然使用极其过时的MSI),或者如果微软我不希望我们使用它.我找不到执照.
最接近我发现的指南是这些,自Vista(!)以来没有更新过,也没有详细说明在何时何地使用哪些标准图标.(标准图标文章仅指四个图标.四.)
那么,我在哪里可以找到我想要并允许使用的设置图标的指南和许可证?
请注意,在本页的右下角,它有SVN修订版ID?我假设这是动态的.
我希望将它添加到我的一些网站,就像在源代码中的注释,以确保代码推送正在进行.
注意:您还可以假设相关站点的工作目录是有问题的repo的svn签出.
编辑:我正在寻找全球修订号,而不是我正在查看的文件的修订号.
设置:
我正在为客户编写L代码,并且经常想要将它同时推送到SOffice和SCustomer.
我知道我可以使用一个changegroup
钩子从第二个存储库推送到第三个存储库(如本答案中所述),但这需要第二个可以达到第三个网络方式.
在我的情况下,每个都在防火墙后面,只有我的笔记本电脑通常通过VPN(或在物理上)访问.我可以在SOffice上建立VPN以获得SCustomer,但我不愿意.
有没有办法可以设置default
为两个存储库?
我正在尝试编写一个控制器操作,它将获取给定 URL 的元数据(具体来说,要传递哪些参数)。还有很多类似的问题,例如Asp.Net core get RouteData value from url,但从 ASP.NET Core 3.1 开始这些问题似乎不正确,因为它已切换到“端点路由”。
因此,类似的代码var router = RouteData.Routers.First(); //get the top level router
将不再正常工作,因为Routers
没有填充任何有意义的内容。
我看到了一些使用当前HttpContext 端点的示例,例如此处,但没有一个用于自定义端点。
我也看到过提及IActionDescriptorCollectionProvider
,但这不会让我轻松过滤特定的 URL。
到目前为止,我正在注入一个 HttpContextFactory,但从IEndpointFeature
当前上下文传递它:
private readonly IHttpContextFactory _HttpContextFactory;
public MyController(IHttpContextFact httpContextFactory)
{
_HttpContextFactory = httpContextFactory;
}
public async Task<ActionResult> GetRouteDataForUrl([FromQuery(Name = "url")] string url)
{
var uri = new Uri(url);
// this is probably wrong -- it supplies the _original_ context's endpoint …
Run Code Online (Sandbox Code Playgroud) 有了我的几种形式,我偶尔遇到以下问题:我使用设计器(Visual Studio 2008,Windows Forms,.NET 2.0,VB.NET)编辑表单来添加组件,但后来才发现一些小的调整制作(例如,表格的大小突然改变几个像素),控件被删除.这是静默发生的 - 事件处理方法Handles
也会自动删除它们的后缀,因此它们永远不会被调用,并且没有编译器错误.我之后才会注意到或者根本没有注意到,因为我正在处理表单中的其他区域.
举个例子,我有一个表格,左边是SplitContainer
一个Infragistics UltraListView
,UltraTabControl
右边是.我添加了一个新选项卡,并在其中进行控制,并且它们工作正常.我后来发现列表视图的滚动条突然变得不可见,因为它的大小已经关闭,并且至少有一个控件从我没有处理的不同选项卡中删除.
这是WinForms Designer或Infragistics的已知问题吗?当然,我使用版本控制,因此我可以比较更改并将已删除的代码合并回来,但这是一个繁琐的过程,不应该是必要的.有办法避免这种情况吗?有没有充分的理由发生这种情况?
一个线索是,被删除的控件可能具有Load
期望在运行时而不是设计时运行的代码(例如事件处理程序),并且可能抛出异常.这会导致Visual Studio删除控件吗?
.net vb.net visual-studio-2008 windows-forms-designer winforms
我有一个在ASP.NET,SQL CLR和独立应用程序中工作的代码库,并根据某些命名空间(如System.Drawing
)是否可用提供不同的功能.现在,我手动排除这些代码片段,但是将C#编译器放到它上面是有益的:
我知道我可以使用#if
指令来搜索定义,我可以手动定义类似的东西ASP_NET
,但如果有办法自动执行此操作,那就更大了.
那么,我能检测到ASP.NET吗?或者,我可以检测某些引用的程序集是否可用?
我想制作一个非常简单的iphone应用程序:一个屏幕只有一个按钮......当点击按钮时会出现一个新屏幕.而已.没有动画,没有,
我已经无休止地尝试让NavBar示例项目执行此操作...并且只有当我使用带有可以点击的表的UINavigationController时它才有效.我已经在XCode中尝试了所有的骨架项目.
当我这样做时,我以为我已经完成了:
[[self navigationController] presentModalViewController:myViewController animated:YES];
Run Code Online (Sandbox Code Playgroud)
但是没有UINavigationController,我无法做到.我只想要一个简单的例子.
非常感谢!
给出这样的表:
[Last Name] [First Name] [DepartmentID]
---------------------------------------
Doe John 1
Doe John 2
Black Frank 3
Run Code Online (Sandbox Code Playgroud)
,我想要一个像这样的结果:
[Last Name] [First Name] [Accounting] [Management] [Development]
----------------------------------------------------------------
Doe John X X
Black Frank X
Run Code Online (Sandbox Code Playgroud)
到目前为止,我有这样的查询:
SELECT [Last Name], [First Name], [1], [2], [3]
FROM Employees
PIVOT(SUM(DepartmentID) FOR DepartmentID IN ([1], [2], [3])
GROUP BY [Last Name], [First Name], [1], [2], [3]
Run Code Online (Sandbox Code Playgroud)
这给了我:
[Last Name] [First Name] [1] [2] [3]
----------------------------------------------------------------
Doe John 1
Doe John 2
Black Frank 3
Run Code Online (Sandbox Code Playgroud)
几个问题:
鉴于以下课程:
public abstract class MyRecordClass
{
public int id { get; private set; }
}
public class ExampleMyRecordClass : MyRecordClass {}
public enum SomeIntEnum : int {}
public class MyList<T, E> : IList<T>
where T : MyRecordClass
{
}
public class MyOtherClass
{
public void MyMethod(MyList<T, E> list) {}
}
Run Code Online (Sandbox Code Playgroud)
,我想调用这样的方法:
MyList<ExampleMyRecordClass, SomeIntEnum> myList;
MyOtherClass myOtherClass;
myOtherClass.MyMethod(myList);
Run Code Online (Sandbox Code Playgroud)
但是,如果传递类型列表,这实际上不起作用MyList<ExampleMyRecordClass, SomeIntEnum>
,因为隐式upcast在泛型类型中不起作用.因为我真正想要的只是属性id
,所以我当然可以显式地实现一个属性或方法MyList<T, E>
,返回一个包含这些信息的新集合.
我更喜欢做的是隐含地完成这项工作.是否有办法(可能是一个隐式运算符,或者实现的附加接口MyList<T, E>
)来实现这一点?
c# ×3
.net ×2
windows ×2
winforms ×2
.net-2.0 ×1
asp.net ×1
asp.net-core ×1
cocoa-touch ×1
components ×1
dvcs ×1
generics ×1
html ×1
icons ×1
inheritance ×1
installation ×1
iphone ×1
markdown ×1
mercurial ×1
obfuscation ×1
php ×1
pivot ×1
protection ×1
push ×1
replication ×1
revision ×1
security ×1
shortcut ×1
sql ×1
ssh ×1
svn ×1
t-sql ×1
tunnel ×1
url ×1
vb.net ×1
versioning ×1
vpn ×1