小编zya*_*ash的帖子

在cherrypy server + ssl上的瓶子

我试图在Cherrypy的服务器上运行Bottle.我想获得SSL支持.

到目前为止,我试过这个:

from bottle import Bottle, route
from cherrypy import wsgiserver

app = Bottle()

@app.route("/")
def index():
  return "Hello"


server = wsgiserver.CherryPyWSGIServer(
            ('0.0.0.0', 443), app)

server.ssl_adapter.private_key = 'server.key'
server.ssl_adapter.certificate = 'server.crt'
server.start()
Run Code Online (Sandbox Code Playgroud)

但是上面抛出了一个ArgumentError,我无法在None对象(ssl_adpater)上设置属性.显然我需要将ssl_adapter属性设置为从SSLAdapter派生的某个对象,但我找不到任何示例.

我使用的是Python 2.7和Cherrypy 3.2.2

谢谢.

python ssl cherrypy

10
推荐指数
1
解决办法
6723
查看次数

NSwag 自定义 JSON 输出

我有一堂课:

class Test {
  public IPAddress Ip {get; set; }
}
Run Code Online (Sandbox Code Playgroud)

默认情况下,Nswag.AspNetCore位于http://localhost:1234/swagger 的Nswag(包)将其序列化,在预览“示例”输出中:

[    
  "Ip": {
     "AddressFamily": 0,
     "ScopeId": 0,
     "IsIPv6Multicast": true,
     "IsIPv6LinkLocal": true,
     "IsIPv6SiteLocal": true,
     "IsIPv6Teredo": true,
     "IsIPv4MappedToIPv6": true,
     "Address": 0
    }
]
Run Code Online (Sandbox Code Playgroud)

我想自定义它,以便它仅将 Ip 字段序列化为 astring而没有IPAddress.

为此,我创建了自己的JsonConverter

public class IPAddressConverter : JsonConverter
{ 
    public override bool CanConvert(Type objectType)
    {
        return (objectType == typeof(IPAddress));
    }

    public override void WriteJson(JsonWriter writer, object value,   JsonSerializer serializer)
    {
        writer.WriteValue(value.ToString());
    }

    public override …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api swagger nswag

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

UserControl中的绑定不起作用(模板绑定到自定义依赖项属性)

我有一个用户控件,我想这样使用:

// MainPage.xaml
<my:MyControl Data="10" />
<!-- or -->
<my:MyControl Data="{Binding SomeData}" />
Run Code Online (Sandbox Code Playgroud)

这是代码绑定:

 public partial class MyControl : UserControl
 {
    public MyControl() {
       InitializeComponent();
    }
   public const string DataPropertyName = "Data";
   public int Data
        {
            get
            {
                return (int)GetValue(DataProperty);
            }
            set
            {
                SetValue(DataProperty, value);
            }
        }

        public static readonly DependencyProperty DataProperty = DependencyProperty.Register(
            DataPropertyName,
            typeof(int),
            typeof(MyControl),
            new PropertyMetadata(10);
 }
Run Code Online (Sandbox Code Playgroud)

它的xaml部分是这样的:

 <UserControl>
    <!-- omitted namespaces etc. -->
    <Grid x:Name="LayoutRoot">
         <Button x:Name="myButton" Content="{Binding Data}">
           <Button.Style>
             <Setter Property="Template">
               <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <TextBlock …
Run Code Online (Sandbox Code Playgroud)

silverlight xaml windows-phone-7

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

Fluent Validation无法在用于本地化的ResourceManager类上查找属性

我在NancyFX应用程序中使用Fluent验证.使用nuget包安装:Nancy.Validation.FluentValidation

我编写了自己的属性Validator类,并完成了可以通过Strings.invalid_ip属性获取的错误消息的本地化.

所有其他本地化在我的项目中工作正常,Fluent验证例外,它无法在Strings资源管理器类中找到任何属性.

namespace LmsNg.Validators
{
    public class IsIpAddressValidator : PropertyValidator
    {
        public IsIpAddressValidator()
            : base(() => Strings.invalid_ip)

            //also tried another overload, but the same exception happens
            //base("invalid_ip", typeof(Strings))
        {
        }

        protected override bool IsValid(PropertyValidatorContext context)
        {
            var ip = context.PropertyValue as string;
            IPAddress address;

            if (ip != null && IPAddress.TryParse(ip, out address))
            {
                return true;
            }

            return false;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

文件属性

一旦IsIpAddressValidator使用,当验证返回false时,我得到一个例外.

FluentValidation.dll中出现"System.InvalidOperationException"类型的异常,但未在用户代码中处理

System.InvalidOperationExcepction: Could not find a property named 'invalid_ip' on …

c# localization fluentvalidation nancy

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

MediaLibrary.SavePicture方法导致System.UnauthorizedAccessException

我有以下代码处理下载并将图像保存到手机的媒体库.它失败了System.UnauthorizedAccessException,好像有一些跨线程访问.为了我的理解,await语句下面的所有代码都在UI线程上运行,所以这应该不是问题.另外我试过包装下面的代码var stream = await client.OpenReadTaskAsync(this.Url);,Deployment.Current.Dispatcher.BeginInvoke但它没有帮助.:(我在WP8上运行此程序,打算稍后将代码移植到WP7.

    private async void OnSaveImageCommand()
    {
        RunProgressIndicator(true, "Downloading image...");
        var client = new WebClient();
        try
        {
            var stream = await client.OpenReadTaskAsync(this.Url); 

            var bitmap = new BitmapImage();
            bitmap.SetSource(stream);

            using (var memoryStream = new MemoryStream())
            {
                var writeableBitmap = new WriteableBitmap(bitmap);
                writeableBitmap.SaveJpeg(memoryStream, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, 0,
                                         100);
                memoryStream.SetLength(memoryStream.Position);
                memoryStream.Seek(0, SeekOrigin.Begin);

                var mediaLibrary = new MediaLibrary(); 
                mediaLibrary.SavePicture("image.jpg", memoryStream);
                MessageBox.Show("Image has been saved to the phone's photo album");
            }
        }
        catch 
        {
            MessageBox.Show("Failed to download …
Run Code Online (Sandbox Code Playgroud)

windows-phone-7 windows-phone-8

0
推荐指数
1
解决办法
1290
查看次数