我们最近已经从在线托管服务提供商转移到本地服务器,我们目前正在尝试使用网络服务建立一个.net网站,并且遇到了困难。
我们在IIS上运行了两个网站(在Windows Server 2003中) - 一个是我们从用户那里获得输入的实际网站,另一个是运行我们与数据库交谈的Web服务/处理逻辑等。 ..
目前我们可以显示主网页但是一旦访问网页服务,就会收到以下404错误:
请求失败,HTTP状态为404:Not Found。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Net.WebException:请求失败,HTTP状态为404:Not Found。
来源错误:
第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”,new object [0]); 第1123行:return((string)(results [0])); 第1124行:}
源文件:c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ b0534295 \ 1f56ee4c \ App_WebReferences.mjxicnrr.0.cs Line:1122
堆栈追踪:
[WebException:请求失败,HTTP状态为404:未找到。] System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage消息,WebResponse响应,流responseStream,布尔asyncCall)+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_WebReferences.mjxicnrr.0.cs:1122中的IPASWebServices.AccountManagementServices.Dev_GetVersion() c:\ www_ipas \ MasterPage.master.cs中的MasterPage.displayVersionDetails():46 c:\ www_ipas \ MasterPage.master.cs中的MasterPage.Page_Load(Object sender,EventArgs e):28 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs e)+14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,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(Boolean includeStagesBeforeAsyncPoint,Boolean 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”)。
知道为什么这样做吗?它在在线虚拟主机和开发计算机上运行得非常好,而不是在这个新环境中。
答案 0 :(得分:0)
确保应用程序作为在IIS中具有适当权限的帐户运行。如果不确定,请确保该应用程序的帐户在IIS_WPG组中运行。
以下是有关正确设置IIS应用程序池标识的更多详细信息:http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/12a3d96c-65ea-4210-96ad-86a801f6a88c.mspx?mfr=true