小编Kil*_*ine的帖子

Swagger 在本地运行但不在 IIS 上运行,不解析基本路径

我正在设置 Swagger 来记录我的 API。

我已经设置了SwaggerEndpoint规范 json 的相对路径,如下所示:

启动配置

当我在本地调试时,一切正常。但我的网站只是作为http://localhost:44348/index.html.

当我部署到虚拟路径上的 IIS 时,它会崩溃:

不解决 swagger.json

  1. 请注意,浏览器中的 URL/imaging4castapi_UAT/作为路径的一部分
  2. 请注意,对 swagger.json 的实际请求缺少路径的基本部分。

这是我尝试过的:

  1. 我尝试删除RoutePrefix覆盖。但这并不能解决。
  2. 我尝试使用类似的应用程序路径,"~/swagger/..."但它是由服务器在 Razor 页面和 css 等视图元素上转换的,并且在Startup.

我很难理解这是客户端设置问题还是与我的网站在 IIS 上的托管方式有关的问题。

想法?

iis json swagger swagger-ui asp.net-core

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

WPF应用程序的异步和填充数据

我有一个WPF应用程序,通过构造函数中的方法初始化UI的状态.但是,它永远不会从Wait();构造函数中返回.

这是我目前通过一个相当人为的样本做的事情:

public class SomeViewModel
{
    public ICommand AddDataCommand { get { return RelayCommand(AddDataExecute); } }
    public ObservableCollection<int> UIData { /* Property with INotifyPropertyChanged */}   

    public SomeViewModel() 
    {
        //Load synch. here
        LoadData().Wait();      
    }

    public async Task LoadData()
    {
        UIData = await Task.Run(() => SomeService.SelectAllUIData());
    }

    public async void AddDataExecute()
    {
        //Add new data item to database on separate thread to keep UI responsive
        await Task.Run(() => SomeService.AddNewData(0));

        //Reload data from database and update UI, has to happen after …
Run Code Online (Sandbox Code Playgroud)

c# wpf mvvm mvvm-light async-await

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

Moq 可以 Mock HubConnection 但 RhinoMocks 不能?

我正在查看SignalR的单元测试,并注意到其中一个测试使用 Moq 创建模拟 HubConnection:

[Fact]
public void HubCallbackClearedOnFailedInvocation()
{
    var connection = new Mock<HubConnection>("http://foo");
    var tcs = new TaskCompletionSource<object>();

    tcs.TrySetCanceled();

    connection.Setup(c => c.Send(It.IsAny<string>())).Returns(tcs.Task);

    var hubProxy = new HubProxy(connection.Object, "foo");

    var aggEx = Assert.Throws<AggregateException>(() => { hubProxy.Invoke("foo", "arg1").Wait(); });
    var ex = aggEx.Unwrap();

    Assert.IsType(typeof(TaskCanceledException), ex);

    Assert.Equal(connection.Object._callbacks.Count, 0);
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用稍微不同的模拟框架 RhinoMocks 执行相同操作时,它抱怨该方法不是虚拟的:

[Test]
public void ShouldCreateBrokerWithHubConnection()
{
    //Arrange
    var url = "http://localhost6790";
    var hubProxy = MockRepository.GenerateMock<IHubProxy>();
    var hubConnection = MockRepository.GenerateMock<HubConnection>(url);
    hubConnection.(c => c.CreateHubProxy("ArtemisClientHub")).Return(hubProxy);

    ... (more code)
 }
Run Code Online (Sandbox Code Playgroud)

System.InvalidOperationException : Invalid …

c# unit-testing rhino-mocks moq signalr

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

即使未满足WHERE子句,也会从查询返回结果

我正在创建一个确保满足某些约束的查询.这是现在的半工作版本:

SELECT CASE
            WHEN TaskId IS NULL THEN 0
            ELSE 1  
        END AS TaskExists, 
        CASE
            WHEN IsDownTask = 0 AND TaskStatus = 63 THEN 1
            WHEN IsDownTask = 1 THEN 1
            ELSE 0
        END AS PressReady,
        CASE 
            WHEN IsDownTask = 1 AND MachineId <> 2710 THEN 1
            ELSE 0
        END AS DownTaskAssignedToDifferentMachine   
FROM Task T
WHERE TaskId = 555555
Run Code Online (Sandbox Code Playgroud)

TaskIdTask表中存在时工作正常,但如果该任务不存在(因此该TaskExists字段),我还需要返回值.

对于不存在的任务的查询,我希望返回

  • TaskExists 0
  • PressReady 0
  • DownTaskAssignedToDisfferentMachine 0

即使不TaskId存在,我如何修改我的查询以返回它?

sql sql-server ibatis.net

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