C# 在Windows Server 2003上配置web服务

C# 在Windows Server 2003上配置web服务,c#,web-services,windows-server-2003,C#,Web Services,Windows Server 2003,我们最近从一个在线托管提供商转移到了一个本地服务器,我们目前正试图建立一个带有web服务的.net网站,但遇到了一些困难 我们有两个网站在IIS上运行(在Windows Server 2003中)-一个是我们从用户那里获取输入的实际网站,另一个是运行web服务的网站,我们在其中与数据库对话/处理逻辑等 目前,我们可以显示主网站页面,但一旦它访问web服务,就会收到以下404错误: 请求失败,HTTP状态为404:未找到 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的

我们最近从一个在线托管提供商转移到了一个本地服务器,我们目前正试图建立一个带有web服务的.net网站,但遇到了一些困难

我们有两个网站在IIS上运行(在Windows Server 2003中)-一个是我们从用户那里获取输入的实际网站,另一个是运行web服务的网站,我们在其中与数据库对话/处理逻辑等

目前,我们可以显示主网站页面,但一旦它访问web服务,就会收到以下404错误:

请求失败,HTTP状态为404:未找到

描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源

异常详细信息:System.Net.WebException:请求失败,HTTP状态为404:未找到

源错误:

第1120行:>[System.Web.Services.Protocols.SoapDocumentMethodAttribute(“http://localhost:58605/Dev_GetVersion,RequestNamespace=http://localhost:58605,ResponseNamespace=http://localhost:58605,Use=System.Web.Services.Description.SoapBindingUse.Literal,ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] 第1121行:公共字符串Dev_GetVersion(){ 第1122行:object[]results=this.Invoke(“Dev_GetVersion”,新对象[0]); 第1123行:返回((字符串)(结果[0]); 第1124行:}

源文件:c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\b0534295\1f56ee4c\App\u WebReferences.mjxicnrr.0.cs行:1122

堆栈跟踪:

[WebException:请求失败,HTTP状态为404:未找到。] System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage消息、WebResponse响应、Stream responseStream、Boolean异步调用)+431289 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object[]参数)+204 c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\b0534295\1f56ee4c\App\u WebReferences.mjxicnrr.0.cs:1122中的IPASWebServices.AccountManagementServices.Dev_GetVersion() c:\www\u ipas\MasterPage.master.cs:46中的MasterPage.displayVersionDetails() MasterPage.Page\加载(对象发送方,事件参数e)在c:\www\u ipas\MasterPage.master.cs:28 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,对象o,对象t,事件参数e)+14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(对象发送方,EventArgs e)+35 System.Web.UI.Control.OnLoad(EventArgs e)+99 System.Web.UI.Control.LoadRecursive()+50 System.Web.UI.Control.LoadRecursive()+141 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+627


版本信息:Microsoft.NET Framework版本:2.0.50727.3082;ASP.NET版本:2.0.50727.3082

我看到它正在尝试访问web服务器,然后访问方法(“http://localhost:58605/Dev_GetVersion)但它忽略了实际的web服务名称。(应该是“http://localhost:58605/AccountManagementServices.asmx?op=Dev_GetVersion"


知道为什么会这样吗?它在在线web主机和开发计算机上运行得非常好,只是在这个新环境中不行。

确保应用程序以在IIS中具有适当权限的帐户运行。如果不确定,请确保应用程序正在运行的帐户与IIS_WPG组中的帐户相同


以下是有关正确设置IIS应用程序池标识的更多详细信息:

出于安装目的,我以“管理员”的身份运行所有操作,因此(希望)这不会是问题。