小编And*_*nea的帖子

如何从中等信任的ASP.NET中的bin文件夹加载文件

我需要从ASP.NET中的bin文件夹加载一个xML文件(MVC,而不是它会计算).我无法获取bin文件夹路径,否则加载文件..我需要提供以下方法:

using(var file = System.IO.File.OpenRead(/* something */))
{

}
Run Code Online (Sandbox Code Playgroud)

asp.net io medium-trust bin-folder

4
推荐指数
1
解决办法
3003
查看次数

为什么FocusManager.GetFocusedElement(this)总是返回null?

我有一个应用程序运行良好作为一个简单的WPF应用程序在主窗口级别上具有GotFocus上的事件处理程序,如下所示:

    private void MainWindowGotFocus(object sender, RoutedEventArgs e)
    {
        var element = FocusManager.GetFocusedElement(this) as FrameworkElement;
        if (element != null)
        {
               //...
Run Code Online (Sandbox Code Playgroud)

然而,当设置为XBAP应用程序时,这种行为很奇怪(几乎完全相同的代码 - 主要的可视元素是Page而不是Window,但事件仍然可用并被触发).

在这种情况下(XBAP/wpf浏览器应用程序)元素始终为null.

有任何想法吗?:(

wpf focus xbap

4
推荐指数
1
解决办法
4021
查看次数

如何判断IOException是否是由另一个进程使用该文件引起的?

我们来看看这个代码示例:

using System;
using System.IO;

namespace ConsoleApplication25
{
    class Program
    {
        static void Main()
        {
            var bytes = new byte[] { 1, 2, 3 };
            var trimChars = new[] { '"' };
            var path = Environment.CommandLine.Trim().Trim(trimChars);
            File.WriteAllBytes(path, bytes);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

运行此程序(程序试图覆盖自身)会导致抛出异常:

System.IO.IOException was unhandled
Message=The process cannot access the file 'F:\TEMP\ConsoleApplication25\ConsoleApplication25\bin\Debug\ConsoleApplication25.vshost.exe' because it is being used by another process.
Source=mscorlib
StackTrace:
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, …
Run Code Online (Sandbox Code Playgroud)

.net c# io process ioexception

4
推荐指数
1
解决办法
3661
查看次数

在应用程序启动时将实例注册为"singleton"bean

我正在玩Spring Boot,我正在尝试构建一个需要ServiceImpl时要解决的实例Service.目前我正在注释实现,@Component但这并没有让我有机会按我的意愿构建实例.

ServiceImpl应用含于磁盘上的文件的路径的字符串构成.我想@SpringBootApplication在应用程序类的main方法中执行此操作.

也许只是我来自一个很长的.NET背景,我们通常设置IoC容器,如:

Service service = new Service("C:\\data.bin");
container.RegisterSingleton<IService>(service); // now whoever asks for a IService will receive this precise instance
Run Code Online (Sandbox Code Playgroud)

这在Spring世界有意义吗?

LE:我很清楚GoF单例定义(即阻止其他人创建类的实例) - 我不是针对这个.

singleton spring dependency-injection inversion-of-control spring-boot

4
推荐指数
1
解决办法
1万
查看次数

如何实现ASP.NET MVC中关注点的分离?

自2007年预览1(12月)以来,我一直在研究,使用和使用ASP.NET MVC.自2008年以来,我一直是它的粉丝,我一直支持它.

然而,我一直听到并阅读"ASP.NET MVC强制严格分离关注点",包括由Rob Conery,Scott Hanselman,Phil Haack和Scott Guthrie在Professional ASP.NET MVC 1.0中阅读.

我不明白的是执法.如果我用除了之外的动作定义我的控制器怎么办?

return View();
Run Code Online (Sandbox Code Playgroud)

在视图(aspx视图引擎)中我做的一切?(数据获取,业务逻辑,决策制定,渲染等)

它是如何(ASP.NET MVC)ENFORCE我分开的关注?

我认为这是一种公然的夸大其词,应该是"建议分离关注点".

你能说服我强制执行吗?

asp.net-mvc view separation-of-concerns modular-design

3
推荐指数
1
解决办法
272
查看次数

Socket.SendAsync线程安全有效吗?

我正在摆弄Silverlight的TCP通信,我被迫使用System.Net.Sockets.Socket类,它在Silverlight运行时只有异步方法.

我想知道如果两个线程在很短的时间内在另一个Socket实例上调用SendAsync会发生什么?

我唯一担心的是没有通过TCP通道的混合字节.

作为一个异步方法,我认为消息被放置在一个队列中,单个线程从该队列中出列,因此不会发生这样的事情(在线路上混合消息的内容).

但我不确定,MSDN没有在方法的描述中说明任何内容.有人确定吗?

EDIT1:不,在调用SendAsync之前锁定对象,例如:

lock(this._syncObj)
{
    this._socket.SendAsync(arguments);
}
Run Code Online (Sandbox Code Playgroud)

因为这会序列化发送数据的请求而不是实际发送的数据,所以无济于事.

silverlight asynchronous tcp communication thread-safety

3
推荐指数
1
解决办法
1503
查看次数

在Silverlight中使用嵌入式资源(4) - 其他文化未编译

我在使用小型Silverlight 4应用程序时为UI提供本地化字符串时遇到了一些困难.基本上我放了一个文件夹"Resources"并在其中放置了两个资源文件:

Statuses.resx
Statuses.ro.resx
Run Code Online (Sandbox Code Playgroud)

我有一个enum状态:

public enum Statuses
{
    None,
    Working
}
Run Code Online (Sandbox Code Playgroud)

和转换器:

public class StatusToMessage : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (!Enum.IsDefined(typeof(Status), value))
        {
            throw new ArgumentOutOfRangeException("value");
        }
        var x = Statuses.None;
        return Statuses.ResourceManager.GetString(((Status)value).ToString(), Thread.CurrentThread.CurrentUICulture);
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}
Run Code Online (Sandbox Code Playgroud)

在视图中我有一个文本块:

    <TextBlock Grid.Column="3" Text="{Binding Status, Converter={StaticResource StatusToMessage}}" />
Run Code Online (Sandbox Code Playgroud)

在视图呈现时调用转换器,但无论Thread.CurrentThread.CurrentUICulture设置什么,它始终返回默认的文化值.

在进一步检查后,我拆开了XAP结果文件,将生成的DLL文件带到Reflector并检查了嵌入的资源.它只包含默认资源!!

回到我正在检查其属性的两个资源文件:

构建操作:嵌入式资源复制到输出目录:不复制自定义工具:ResXFileCodeGenerator自定义工具命名空间:[empty]

两个资源(.resx)文件都具有这些设置..Designer.cs结果文件如下:

Statuses.Designer.cs:

//------------------------------------------------------------------------------
// <auto-generated>
// …
Run Code Online (Sandbox Code Playgroud)

silverlight resources localization embedded-resource silverlight-4.0

3
推荐指数
1
解决办法
2501
查看次数

如何在Xamarin Forms for iOS中创建导航栏?

XAML XAML Forms中是否支持为iOS创建导航栏?我搜索了所有Xamarin支持,论坛和互联网..

在这一点上,我不相信有支持,但我真的不想重新发明轮子,如果它已经发明..


编辑:

通过导航栏我的意思是这个东西:

在此输入图像描述

c# xaml xamarin.ios xamarin xamarin.forms

3
推荐指数
1
解决办法
5974
查看次数

如何在.NET中装饰(时间)任务?

我有类似的服务:

public class Service : IService
{
    public Task<string> GetData()
    {
        var client = new HttpClient();
        var str = client.GetStringAsync("http://www.example.com");
        return str;
    }
    //...
}
Run Code Online (Sandbox Code Playgroud)

现在,使用装饰器模式我想要计时这个方法

public class TimedService : IService
{
    private readonly IService _service;

    public TimedService(IService service)
    {
        _service = service;
    }

    public Task<string> GetData()
    {
        using(var timer = new TimerContext())
            return _service.GetData();
    }
}        
Run Code Online (Sandbox Code Playgroud)

TimerContext构建之后的开始计时并将其停止处理并将其发布到某种日志中,而不需要返回测量的时间.

现在使用上述方法不会计算任务的实际执行时间,而只是创建和检索Task实例.

如何Task从TimedService 返回一个,当运行时,它将启动计时器,执行原始Task(从真实Service类)并处理计时器?

.net c# asynchronous task task-parallel-library

3
推荐指数
1
解决办法
135
查看次数

为什么.NET中没有ArgumentEmptyException?

我开始认为我做错了什么.我的意思是他们确实最终放置了System.String.IsNullOrWhitespace但没有放置ArgumentEmptyException类.

        public FilterItem(string name, IEnumerable<string> extensions)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentNullException("name");
            }
            if (extensions == null)
            {
                throw new ArgumentNullException("extensions");
            }
            if (extensions.Count() == 0)
            {
                throw new ArgumentOutOfRangeException("extensions");
            }

            this.Name = name;
            this.Extensions = extensions;
        }
Run Code Online (Sandbox Code Playgroud)

抛出ArgumentOutOfRangeException感觉不自然.在我看来,ArgumentException的一个实例太笼统了.

我很容易创建一个新的异常类,以这种方式调用它并完成它.让我感到困惑的是,它不在BCL/FCL中,我开始认为有充分的理由不拥有它.

应该有吗?

.net arguments exception

2
推荐指数
2
解决办法
450
查看次数