我正在为网站编写高级图像上传功能.为了允许在浪费时间以及将图像上传到服务器的客户端和服务器资源之前执行所有图像配置,我尝试使用HTML 5功能来支持完全客户端功能集,并在所有图像裁剪后进行批量上传和其他编辑已经完成.
我的页面上有一个放置区域,允许多个文件拖放实际选择要编辑的图像.在下拉,我创建一个图像编辑器列表(使用window.URL.createObjectURL),一些表单字段,简单的元数据提取预览,我将Jcrop附加到每个图像.我遇到的问题是当我附上Jcrop时.尽管在我通过调用来撤销url之前我附加了裁剪设备window.URL.revokeObjectURL,Jcrop似乎似乎没有尝试访问URL,直到太晚,我最终丢失了图像.
我根本没有调用revokeObjectURL,并且允许一切正常工作......但是我不确定不撤销对资源使用的影响是什么.这是否有可能导致内存泄漏?刷新页面是否会导致未发布的对象URL被释放并且其资源被回收?
我已经做了大约20年的开发人员,大约5年前做了一些C#.
你会说什么Visual Studio插件我不能/不应该没有?他们可以帮助:
语言构造.Net Framework生成存根代码以加快速度
谢谢!
我正致力于在.NET 中的HttpWebRequest/ HttpWebResponsetypes 之上构建一个流畅的REST客户端界面.到目前为止,这么好......但是我正在尝试开发一个可插拔的安全框架,它可以自动处理安全令牌协商,令牌刷新等.
由于HttpWebRequest/Response遇到400系列或500系列HTTP状态代码时的工作性质,我遇到了问题.他们不是简单地设置.StatusCode和.StatusDescription属性,而是允许你以任何你想要的方式处理它们WebException.一般来说,这可能不是问题...但是我们验证的方式(OAuth 2.0的派生),我需要处理某些400系列错误而不会发生异常.
有没有办法将HttpWebRequest/Response重新配置为NOT throw WebException,并允许消费者确定自己的错误处理?我知道有一些关于使用旧的Http1.0服务器处理Expect-100-Continue的方法......我很好奇是否有类似的循环方式来禁用WebExceptions.
(哦,只是无法抗拒......在RedGate上为了我非常好的朋友非法抢走反映器6的许可证免费版本......我可能能够解决这个问题如果我可以窥探代码,我自己......但是......反射器很遗憾地是一个不可行的选择,因为它已经通过自溶来消耗它.; P)
我最近开始使用EF v4 Code Only库来处理我正在进行的一些项目.但是,我遇到了一些障碍.我似乎无法弄清楚连接字符串的正确格式.我使用以下代码来构建连接字符串:
string connectionString = new EntityConnectionStringBuilder
{
Provider = "System.Data.SqlClient",
ProviderConnectionString = new SqlConnectionStringBuilder
{
DataSource = "localhost",
InitialCatalog = "ASM_Testing",
IntegratedSecurity = true,
Pooling = false
}.ConnectionString
}.ConnectionString;
Run Code Online (Sandbox Code Playgroud)
但是,使用它会导致以下错误:
Specifications_for_EntityContext.When_logging_in_application_with_valid_app_role_and_password.Login_should_be_successful : System.ArgumentException : Some required information is missing from the connection string. The 'metadata' keyword is always required.
Stack Trace:
at System.Data.EntityClient.EntityConnection.ValidateValueForTheKeyword(DbConnectionOptions effectiveConnectionOptions, String keywordName)
at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
at System.Data.Objects.ObjectContext..ctor(String connectionString)
at ASM.Data.EntityContext..ctor(String connectionString) in C:\Users\Jon Rista\TFS\Advanced Service Management\Trunk\Main\Source\ASM.Data\EntityContext.cs:line 16
at Specifications_for_EntityContext.Behaves_like_EntityContext_connected_to_a_database.TestableEntityContext..ctor(String connectionString) in C:\Users\Jon Rista\TFS\Advanced …Run Code Online (Sandbox Code Playgroud) 我有一个相当小的解决方案,包括一个WPF Windows应用程序.从解决方案构建时,它构建完美.我最近将解决方案中包含的项目集成到一个使用MSBuild的现有的,更大的命令行构建中.但是,从命令行构建时,我会收到以下错误:
MainWindow.xaml.cs(12,4): error CS0103: The name 'InitializeComponent' does not exist in the current context
View\EngineMonitorView.xaml.cs(12,4): error CS0103: The name 'InitializeComponent' does not exist in the current context
View\HostingEngineView.xaml.cs(12,4): error CS0103: The name 'InitializeComponent' does not exist in the current context
View\MainView.xaml.cs(13,4): error CS0103: The name 'InitializeComponent' does not exist in the current context
View\MainView.xaml.cs(17,52): error CS0103: The name 'gView' does not exist in the current context
View\PerformanceCounterView.xaml.cs(22,4): error CS0103: The name 'InitializeComponent' does not exist in the current context …Run Code Online (Sandbox Code Playgroud) 我有一个我编写的日志框架,它能够跟踪"日志记录上下文".它有一个可插拔的策略框架,但我最常使用的是ThreadStatic变种,它跟踪[ThreadStatic]变量中的上下文.我一直在尝试解决多线程工作流中的日志记录上下文问题.目标是让所有共享公共线程的方法和类的所有调用的所有日志条目记录相同的上下文信息.因为理论上每个线程都应该获得自己的ThreadStatic变量,所以这个想法似乎很容易.
public class ThreadStaticLoggingContextStrategy: ILoggingContextStrategy
{
public ThreadStaticLoggingContextStrategy()
{
Debug.WriteLine("[INITIALIZE] A new instance of 'ThreadStaticLoggingContextStrategy' has been created.");
}
[ThreadStatic] private LoggingContext _context;
public LoggingContext GetLoggingContext()
{
if (_context == null)
_context = new LoggingContext();
return _context;
}
}
Run Code Online (Sandbox Code Playgroud)
实际上,似乎ThreadStatic数据实际上是跨线程共享的.这违背了我对线程的理解.我很难搞清楚问题是什么,直到我投入额外的日志条目,跟踪每个线程清除线程上下文时(所有线程在主循环上运行...在开始时,如果必要的消息是收到,上下文被初始化,并且在finally子句的最后,它被重置.)以下日志记录是CONSISTENT:
[2011-12-15 16:27:21,233] [DEBUG] [TPI.LTI.Eventing.GroupCreatedNotificationHandler:TPI.LTI.Provisioning.Handlers.GroupCreatedNotificationHandler.WORKDEVELOPMENT.1_Thread:324] :( ContextId = 184e82dd-152b-4bb5- a2c6-3e05b2365c04; TransactionId = 1a11130e-e8dd-4fa1-9107-3b46dcb4ffd6; HandlerName = GroupCreatedNotificationHandler; HandlerId = WORKDEVELOPMENT.1)将工具'0967e031-398f-437d-8949-2a17fe844df0'的事件推送到 http://tpidev.pearsoncmg. com/tpi/lti/service/event ...
[2011-12-15 16:27:21,259] [DEBUG] [TPI.LTI.Facades.LTIFacade:TPI.LTI.Provisioning.Handlers.GroupCreatedNotificationHandler.WORKDEVELOPMENT.1_Thread:299] :( ContextId = 184e82dd-152b-4bb5- a2c6-3e05b2365c04; TransactionId = 1a11130e-e8dd-4fa1-9107-3b46dcb4ffd6; HandlerName = GroupCreatedNotificationHandler; HandlerId …
我正在使用ASP.NET MVC 3平台开发一些REST资源.到目前为止,它非常棒,我喜欢MVC 3的灵活性,使用它构建REST服务也是一件轻而易举的事.我遇到困难的一个领域是Global.asax中的路径限制.首先,他们似乎永远不会正常工作(包括一个ALWAYS返回404,即使输入肯定满足约束的要求......但这是另一个问题).
其次,更重要的是,当约束失败时返回的结果始终是HTML页面.假设约束有效,当这些REST服务的所有使用者都接受数据类型时,例如application/json,text/xml,可能是bson等,结果是HTML确实会引起混乱.我真的需要能够直接解决客户端的错误,而不是简单地将html用于边带解析.
是否可以更改响应路径约束而返回的内容?是否有可能使得返回动态,如果发出请求的客户端只接受application/bson,我们可以生成可接受的响应,而不是简单地生成单个mime类型的预设响应?
我正在尝试使用Windows PowerShell 2.0来查找已安装的应用程序.我尝试了两种方法,一种使用WMI,另一种使用Registry.这两种方法都能够显示已安装的应用程序和组件的大量列表,但是似乎没有人提出我感兴趣的应用程序.
我特意寻找CruiseControl.NET.它出现在"程序和功能"控制面板小程序的应用程序列表中.我知道它目前已安装,因为我刚刚卸载并重新安装它以重新开始.但是,以下两种方法似乎都不起作用(它们成功,但没有返回结果):
注册表搜索方法
在注册表中HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall查找应用程序密钥.如果我删除where,则返回很多,但它缺少很多应用程序,它们出现在windows程序和功能控制面板中.
gci "hklm:\software\microsoft\windows\currentversion\uninstall"
| foreach { gp $_.PSPath }
| select DisplayVersion,InstallDate,ModifyPath,Publisher,UninstallString,Language,DisplayName
| where { $_.DisplayName -match "^Cruise*" }
Run Code Online (Sandbox Code Playgroud)
WMI方法
也返回了很多,但是,根据Win32_Product对象的文档,它们只是MSI安装的应用程序.许多应用程序都丢失了,我猜是因为它们不是MSI.CruiseControl.NET安装程序是NSIS(NullSoft安装系统)...因为它没有出现在这里,我猜它根本不使用MSI,但我很好奇是否有另一种使用WMI的方法找到任何/所有已安装的应用程序,无论它们是否使用过MSI.
gwmi -namespace "root\cimv2" -class "Win32_Product"
| select Name,Vendor,Version,IdentifyingNumber
| where { $_.Name -match "^Cruise*" }
Run Code Online (Sandbox Code Playgroud)
通过注册表查找应用程序并没有给我带来很多好处,真的.除非它还提供了一些方法来查找应用程序卸载程序和调用它的正确参数,但似乎并非总是如此.我更愿意使用WMI来查找和卸载我需要卸载的应用程序,因为这不仅允许我为我的所有脚本(WMI)使用单一管理界面,而且其他人应该很容易弄清楚如何因为WMI通常有很好的文档记录,所以在将来维护脚本.
我在删除按钮单击时创建了对话框.它覆盖了父Div.
它在IE 7以外的所有浏览器中工作.我在对话框和div中提到了Css.
dialog_box {
width:219px;
height:100px;
background-image:url(../images/preference/popup.png); background-repeat:no-repeat;
padding:10px;
position:absolute;
right:-10px;
z-index:50;
overflow:hidden;
}
Div{
border:solid 1px #ffffff;
padding:10px;
padding-left:30px;
padding-top:10px;
padding-bottom:10px;
position:relative;
text-align:left;
}
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样吗?
如何声明一个变量,我认为是全局的,我在html文件中声明的方式,然后在js文件中使用它(由<script>标签包含)?
c# ×4
.net-3.5 ×1
bson ×1
c#-4.0 ×1
charts ×1
code-first ×1
constraints ×1
css ×1
graph ×1
html ×1
html5 ×1
javascript ×1
json ×1
msbuild ×1
msbuild-task ×1
powershell ×1
routes ×1
threadstatic ×1
uninstall ×1
var ×1
webexception ×1
winforms ×1
wmi ×1
wpf ×1