小编fhe*_*vol的帖子

在Windows 10上使用Microsoft GS Wavetable Synth的midiOutOpen失败

我有一个依赖于内置Microsoft GS Wavetable Synth的应用程序.它在Windows XP,Vista,7,8和8.1上完美运行.在Windows 10上第一次调用midiOutOpen时,后续调用会导致错误代码1,意味着"未指定错误".代码很简单:

result = midiOutOpen(&_midiOutHandle, midiOutputDevice, NULL, 0, CALLBACK_NULL);
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何想法都非常受欢迎.

c++ midi multimedia windows-10

12
推荐指数
1
解决办法
3210
查看次数

如何使用YAML文件在Elastic Beanstalk中设置文件夹权限?

我有一个C#Web API Elastic Beanstalk应用程序,它需要IUSER和IIS_USERS用户可以写入的部署目录之外的文件夹.我已经创建了一个.config文件并将其放在我项目中的顶级.ebextensions文件夹中.内容如下:

commands:
  0_mkdir:
    command: mkdir C:\\AppFolder\\

  1_set_iuser_permissions:
    command: cacls C:\\AppFolder\\ /t /e /g IUser:f IIS_Users:f
Run Code Online (Sandbox Code Playgroud)

但是,成功创建文件夹时,不会设置权限.如果有人知道我做错了什么,我将非常感激.非常感谢提前.

c# configuration yaml amazon-web-services amazon-elastic-beanstalk

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

HTML5 EventSource onmessage 从未从 Web API 2 调用

我有一个 RESTful Web API 2 解决方案,其方法是从 AngularJS 应用程序调用的。我想添加对从服务器端 API 向客户端逻辑发送通知的支持。然而,通过调用 Javascript 中的 addEventListener 设置的消息和打开方法永远不会被调用。Web API控制器如下:

namespace Controllers
{
    public class EventController : ApiController
    {
        private static readonly List<StreamWriter> ConnectedClients = new List<StreamWriter>();
        private static Timer _timer;

        public EventController()
        {
            if(_timer == null)
                _timer = new Timer(TimerCallback, null, 0, 2000);
        }

        public static void OnStreamAvailable(Stream stream, HttpContent headers, TransportContext context)
        {
            var streamwriter = new StreamWriter(stream);
            ConnectedClients.Add(streamwriter);
        }

        private static void MessageCallback(Message m)
        {
            foreach (var subscriber in ConnectedClients)
            {
                try …
Run Code Online (Sandbox Code Playgroud)

html javascript c# server-sent-events angularjs

5
推荐指数
1
解决办法
1999
查看次数

依赖注入/ SOLID担心

我有一个用C#编写的Web API应用程序.我正在努力确保设计符合SOLID原则.因此我使用Unity将依赖项注入我的控制器.但是我希望将控制器执行的操作从控制器本身中取出,因此它们实际上只是在其他(通常是静态的)对象上调用方法.例如:

public class MyController : ApiController
{
    private readonly ISomeCrossCuttingInterface _instance;
    private readonly ILog _log;

    public MyController(ISomeCrossCuttingInterface someInterface, ILog log)
    {
        _instance = someInterface;
        _log = log;
    }

    [HttpPost]
    [ActionName("MyAction")]
    public RequestResponse MyAction(MyActionData actionData)
    {
        try
        {
            return MyActionUser(actionData);
        }
        catch (Exception ex)
        {
            _log.Error("MyAction error", ex);
        }
        return ...;
    }

    private RequestResponse MyActionUser(MyActionData actionData)
    {
        var responseObj = StaticClass.SomeMethod(_instance, actionData);
        var responseObj2 = StaticClass2.SomeMethod(_instance, responseObj2);
        return CreateMyActionResponse(responseObj2);
    }

    private RequestResponse CreateMyActionResponse(...)
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我遇到的一些焦虑是用于执行工作的对象(例如上面的StaticClass和StaticClass2)是否应该实际注入.目前他们不是.已注入的对象是与交叉切割问题相关的对象,例如日志记录或数据访问,或由多个控制器使用的对象.那么为什么我不注入执行工作的对象呢?我认为这些"内部"对象仅用于执行与一个控制器相关的特定工作.也就是说,控制器功能基本上被分解为具有单一责任的对象,每个控制器都拥有自己独特的对象集,无论控制器需要做什么.不过这是一个糟糕的设计吗?是否应该注射所有物体?任何输入真的很感激.

c# dependency-injection solid-principles asp.net-web-api

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

midiOutShortMsg和midiOutSetVolume,立体声输出

我正在编写C++代码来输出midi消息.我需要这个以立体声方式工作,以便通过左声道/扬声器播放一些音符,而通过右声道播放其他音符.如果我调用midiOutSetVolume(midiOutHandle,0xFFFF),然后调用midiOutShortMsg几次,每次调用间隔几百毫秒,则音符通过左扬声器.同样,如果我在调用midiOutShortMsg之前首先调用midiOutSetVolume(midiOutHandle,0xFFFF0000),则所有内容都会出现在正确的扬声器中.但是,如果我尝试通过左扬声器同时输出一个音符,通过执行以下操作同时输出一个音符:

midiOutSetVolume(midiOutHandle, 0xFFFF);
midiOutShortMsg(...);
midiOutSetVolume(midiOutHandle, 0xFFFF0000);
midiOutShortMsg(...);
Run Code Online (Sandbox Code Playgroud)

两个音符都只是说出了正确的音箱.我想如果我可能有两个独立的设备,我可以设置一个播放左声道音符,另一个右边.但是,如果我尝试通过2次调用midiOutOpen打开同一设备的2个句柄,我会在第二次调用时收到MMSYSERR_ALLOCATED错误.

任何建议都非常感谢.

c++ midi winapi

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

C#应用程序需要在Citrix环境中引用远程工作站

我有一个C#独立的Windows窗体应用程序.它连接到后台系统,该系统需要工作站名称作为识别过程的一部分.我正在使用Environment.MachineName来获取此信息.但是,使用此应用程序的客户偶尔会在Citrix环境下运行它,当他们这样做时,他们希望它引用远程计算机名称,而不是它所安装的计算机.我之前从未编写任何类似的东西,而且我对Citrix不熟悉(所以我开始了.)如何获取远程计算机名称?任何想法都非常感激.

非常感谢提前.

c# network-programming citrix winforms

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

在 Elastic Beanstalk 中保存文件的建议

我有一个 ELB 应用程序,我们刚刚添加了照片上传功能。目前,这会将图像保存在 ELB 部署目录内的文件夹中,并将 URL 保存到 DynamoDb 表。一切正常。每当用户想要查看图像时,我们只需将 URL 附加到 UI 中标记的 src 属性,浏览器就会直接下载图像。

然而,我突然想到,如果底层 EC2 实例终止并重新启动,我们很可能会丢失所有照片。我的这个假设正确吗?如果是这样,这里的最佳实践是什么?上传的内容是否应该始终保存在 S3 存储桶中?非常感谢任何指导。

c# amazon-s3 amazon-ec2 amazon-web-services amazon-elastic-beanstalk

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