IIS中Web服务的最低设置?

问题描述:

我最近参与了一个使用SAPUI5的项目。到目前为止,我的网站背景主要是开发ASP MVC应用程序,但我从来没有真正想过要深入了解ASP应用程序是如何在幕后设置的。IIS中Web服务的最低设置?

最近,我看到需要客户端(JavaScript)代码来查询本地IIS的各种系统相关信息,如Windows用户ID等。所以,我认为一个Web服务将是自然的方法。

但是,由于该网站未设置为处理ASP Web服务,因此我无法将其开箱即用。只需在Web站点中添加一个Web服务就会自动创建一个“App_Code”文件夹来托管C#实现文件,但是当客户端调用一个服务时,它只会返回404,所以我认为路由不起作用。

所以,我的问题是:我需要做一个现有的网站开始接受和路由传入的Web服务调用?是否可以将此功能添加到现有网站,还是需要重新开始并创建ASP MVC(或WebApi)应用程序?

+0

Web服务已弃用。使用WebApi。 –

你的说法...

只要添加一个Web服务的网站会自动创建一个 “App_Code文件” 文件夹主办的C#实现文件

...表明您正在使用“网站”而不是“网络应用程序”。因此,我有点惊讶,你得到了404服务文件(除非你想直接在URL中引用App_Code文件夹中的类文件 - 这是行不通的)。

尽管可以将WebApi项目与网站混合在一起(例如,将System.Web.Routing添加到您的站点并在Global.asax中创建路由Application_Start),但我会对此方法持谨慎态度,因为它可以引入它自己的一组挑战。

假设您的网站是ASP.NET 3.5或更高版本,则旧的ASMX Web服务方法非常实用。只要确保在课前添加(或取消注释)[System.Web.Script.Services.ScriptService]指令(当您创建ASMX文件时,它应该自动添加为注释)。然后,您的AJAX URL将成为网络服务文件的名称,后跟您声明的所有功能的名称(例如http://MySite/WebService.asmx/MyFunction)。

在ASMX和JSON上执行一些搜索以查看有关从服务传递和返回数据(大量选项)的信息。