我有一个web api控制器GET api方法,我在其中调用外部REST服务来获取数据。我想在asp.net页面上显示一段数据(来自我的数据模型类的属性来保存外部Web服务数据)。 api控制器调用存储库类库的方法,在那里我从外部REST服务获取数据并返回我的web api控制器。
我在我使用PDF Tron Web查看器控件的ASP.NET页面上的javascript中调用我的web api控制器获取api方法。
<script src="settings.js"></script>
我不想使用Session(虽然Session不可用,可以使用Session的解决方法),因为它会使我的REST api有状态。
请告知在asp.net页面中从web api控制器获取数据的可用选项。
//Settings.js code
window.WebViewerUniversalInstance.model.set(
{
documentUrl: "/api/Document/?type=XOD&docno=101",
//serverUrl: "../html5/annotationHandler.php", //server script for handling annotations
annotationUser: new PDFTron.WebViewer.User("Guest", false),
currentPageNumber: 0,
pageCount: 0,
zoomLevel: 0,
fitMode: PDFTron.WebViewer.FitMode.Zoom,
layoutMode: PDFTron.WebViewer.LayoutMode.SinglePage,
toolMode: '',
rotation: 0,
webViewerLibPath: 'lib/', //URL path to the WebViewer lib folder
webViewerOptions: { //extra WebViewer options
silverlightOptions: {
enableAnnotations: false //disable annotations if silverlight is loaded.
}
}
}
);
答案 0 :(得分:0)
documentUrl选项只是一个帮助方法,不能像你想要的那样重载。
如果您想优化到单个服务器调用,那么您可以手动执行此操作,就像通常使用ASP.Net发出任何服务器请求一样。
所以回应
/api/Document/?type=XOD&docno=10
您的服务器可能会返回如下所示的某种响应。
{
xodurl: url,
metadata1: data1,
metadata2: data2
}
然后,您将url参数传递给WebViewer documentUrl参数。