我正在设置 Swagger 来记录我的 API。
我已经设置了SwaggerEndpoint规范 json 的相对路径,如下所示:
当我在本地调试时,一切正常。但我的网站只是作为http://localhost:44348/index.html.
当我部署到虚拟路径上的 IIS 时,它会崩溃:
/imaging4castapi_UAT/作为路径的一部分这是我尝试过的:
RoutePrefix覆盖。但这并不能解决。"~/swagger/..."但它是由服务器在 Razor 页面和 css 等视图元素上转换的,并且在Startup.我很难理解这是客户端设置问题还是与我的网站在 IIS 上的托管方式有关的问题。
想法?
我有一个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) 我正在查看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 …
我正在创建一个确保满足某些约束的查询.这是现在的半工作版本:
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)
这TaskId在Task表中存在时工作正常,但如果该任务不存在(因此该TaskExists字段),我还需要返回值.
对于不存在的任务的查询,我希望返回
即使不TaskId存在,我如何修改我的查询以返回它?
c# ×2
asp.net-core ×1
async-await ×1
ibatis.net ×1
iis ×1
json ×1
moq ×1
mvvm ×1
mvvm-light ×1
rhino-mocks ×1
signalr ×1
sql ×1
sql-server ×1
swagger ×1
swagger-ui ×1
unit-testing ×1
wpf ×1