小编Jos*_*hua的帖子

NSCalendar第一天的第一天

有没有人知道是否有办法在NSCalendar上设置一周的第一天,或者是否有一个日历已经将星期一作为一周的第一天而不是星期日.我目前正在开发一款基于一周工作量的应用程序,它需要在星期一而不是星期天开始.我很可能会做一些工作来解决这个问题,但会有很多极端情况.我更喜欢平台为我做这件事.

提前致谢

这是我正在使用的一些代码.现在是星期六,所以我希望工作日是6而不是7,这意味着星期日将是7而不是0到0

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
[gregorian setFirstWeekday:0];
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit | NSWeekCalendarUnit | NSWeekdayCalendarUnit;
NSDateComponents *todaysDate = [gregorian components:unitFlags fromDate:[NSDate date]];
int dayOfWeek = todaysDate.weekday;
Run Code Online (Sandbox Code Playgroud)

iphone cocoa calendar weekday nscalendar

43
推荐指数
7
解决办法
5万
查看次数

与List <string>绑定的WPF文本块

有没有人知道是否有一种简单的方法将文本块绑定到List.到目前为止我所做的是创建一个listview并将其绑定到List,然后我在listview中有一个使用单个文本块的模板.

我真正想要做的就是将List绑定到一个文本块并让它显示所有行.

在Winforms中有一个"Lines"属性,我可以将List放入,但我没有在WPF文本块或TextBox上看到它.

有任何想法吗?

我想念一些简单的东西吗?

这是代码

<UserControl x:Class="QSTClient.Infrastructure.Library.Views.WorkItemLogView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         Width="500" Height="400">
<StackPanel>
    <ListView ItemsSource="{Binding Path=Logs}" >
        <ListView.View>
            <GridView>
                <GridViewColumn Header="Log Message">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding}"/>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

和WorkItem类

public class WorkItem
{
    public string Name { get; set; }
    public string Description { get; set; }
    public string CurrentLog { get; private set; }
    public string CurrentStatus { get; private set; }
    public WorkItemStatus Status { get; set; }
    public ThreadSafeObservableCollection<string> Logs{get;private set;}
Run Code Online (Sandbox Code Playgroud)

我正在使用Prism来创建控件并将其放入WindowRegion中 …

generics wpf binding text

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

创建我自己的MJPEG流

我正在尝试创建一个MJPEG流,我有一系列jpeg,我想将它们组合成一个流,以便用户只需点击一个URL并获得一个mjpeg流.过去几天我一直在努力让它发挥作用,而且可能是不可能的.我提起了空灵,并听取了网上某个轴摄像头的数据包,并试图模仿它.我最初尝试使用WCF,并返回"流"但后来发现我需要在该流上设置内容类型,因此我尝试了WCF REST api,但是这也遇到了同样的问题.所以我现在只是使用一个简单的HTTPListener,并处理事件.我更喜欢使用WCF,但我不确定它是否允许我返回具有正确内容类型的流.所以这就是我对httpListener的看法.

在监听器回调的处理程序中我把以下内容.

        HttpListenerResponse response = context.Response;
        response.ProtocolVersion = new System.Version(1, 0);
        response.StatusCode = 200;
        response.StatusDescription = "OK";
        response.ContentType = "multipart/x-mixed-replace;boundary=" + BOUNDARY + "\r\n";
        System.IO.Stream output = response.OutputStream;
        Render(output);
Run Code Online (Sandbox Code Playgroud)

Render方法看起来像这样

        var writer = new StreamWriter(st);
        writer.Write("--" + BOUNDARY + "\r\n");
        while (true)
        {
            for (int i = 0; i < imageset.Length; i++)
            {
                var resource = Properties.Resources.ResourceManager.GetObject(imageset[i]) as Bitmap;
                var memStream = new MemoryStream();
                resource.Save(memStream,ImageFormat.Jpeg);
                byte[] imgBinaryData = memStream.ToArray();
                string s = Convert.ToBase64String(imgBinaryData);
                writer.Write("Content-type: image/jpeg\r\n");
                foreach (var s1 …
Run Code Online (Sandbox Code Playgroud)

video streaming jpeg http mjpeg

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

没有证书的WCF用户名

我正在开展一个项目,我需要以下内容.

  • 服务器端的WCF服务(.NET 3.5)
  • 客户端的WPF客户端(.NET 3.0)

我有一个现有的应用程序,我必须使用(在服务器端)的身份验证和授权.我还需要在WCF服务的线程主体(站点对象)中存储有关用户的一些元数据.我这样做,以便我可以在WCF服务中获得它,如果我绝对必须; 一些业务逻辑可能需要它.所以我的计划是做以下事情......

为服务器创建一个自定义ServiceAuthorizationManager,在那里我将登录用户并从现有应用程序中获取角色.我将缓存"站点"对象,并在进一步请求从缓存中拉出.我还需要一个CustomPrincipal对象来保存我的自定义数据.我想冒充用户,以便我可以在WCF中使用内置角色过滤,如下所示:

[PrincipalPermission(SecurityAction.Demand, Role = "Role1")]
public string[] RolesForUser(string username){}
Run Code Online (Sandbox Code Playgroud)

我尝试将ASP.NET授权与自定义角色提供程序一起使用,但我无法在Current Principal上设置任何内容.我还尝试使用自定义IAuthorizationPolicy,但出现了问题.这些问题涉及能够使用WCFClient.exe应用程序,当它发现(使用mex endpoing)时它不会提供任何凭据,因此登录将失败.我最终认为ServiceAuthorizationManager是正确的方法,但我对其他建议持开放态度.

在客户端,我将收集凭据并将它们放入WCF代理类,如下所示.

proxy.ChannelFactory.Credentials.UserName.UserName = userName;
proxy.ChannelFactory.Credentials.UserName.Password = password;
Run Code Online (Sandbox Code Playgroud)

当我开始走这条路时,我注意到我无法在我的经理类的CheckAccessCore方法中获取用户名/密码.进一步调查显示我应该在自定义UserNamePasswordValidator中进行身份验证.所以我创造了其中之一.问题是验证方法永远不会被调用.

进一步的调查表明,为了调用validate方法,我的WCF服务必须具有消息或传输级安全性.问题在于,如果没有X.509证书,我无法弄清楚如何获得消息或传输级安全性.这个产品进入了数百个令人难以置信的锁定机器,并且无法安装证书.

有没有办法在没有安装证书的情况下做我要求的事情?

authentication wcf authorization certificate x509

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