WCFDataService项目host到IIS上碰到的一个问题:数据库未能打开

今天在尝试重现OP一个问题的,遇到了一个新的问题。

项目坏境:

WCF Data Service 5.6

Entity Framewrok 5(不用6的原因时要重新配置WCF项目)

SQL Server Express

问题描述:

在于数据库连接的时候,我使用了Trust Connection,所以并没有提供访问数据库的用户名和密码,然后我先是在IIS Express模式下运行项目,这个时候是没有什么问题的。但是却发现,从客户端发出的http请求不能被Fiddler捕捉到,网上查了下,原因是Fiddler竟然不能捕捉localhost或127.0.0.1的http请求,解决方案是使用mancihename代替。这样问题又来了,这个坑爹的IIS express只能用localhost,那这样理所当然要把程序部署到真正的IIS上。

然后问题来了,在部署到IIS上后,用mancihename来访问WCF Data Service的默认服务页面是没有问题的,但是当要查询具体的数据时候,坑爹的事情发生了,报了个500错误,根本的原因的事数据库未能打开,这令我 非常郁闷的。

然后在网上各种search,终于找到症结所在,还是坑爹的IIS搞出来的事情。当IIS连接一个你认为是trust connection的连接时,它会自动分配一个账户跑程序进程,但是这个账户不一定是你的windows 登陆账号,那意味着没有数据库访问的权限,然后就悲剧了。

目前的解决方案是也是我认为最简单的就是不使用trust connection,在连接字符串里提供用户名和密码。要去问下IIS的同事,有没有在IIS断的解决方案。

时间: 2024-10-12 21:01:37

WCFDataService项目host到IIS上碰到的一个问题:数据库未能打开的相关文章

探讨 : Host在IIS上的WCF Service的执行方式

一个WCF请求由两个线程来完成 运行在IIS上的WCF service, 你可能会注意到一个比较有趣的现象. 当WCF service接收到一个请求时, 这个请求实际上会有两个线程在执行这个请求. 一个线程是来自于CLR的ThreadPool的线程. 这是一个Worker Thread用于接收.svc页面的访问请求. 另外一个线程是 I/O 线程, 用于执行WCF的逻辑. 你可以参考下面的实例代码. 该代码用于模拟一个WCF执行时间比较长的场景. [ServiceContract]public

将asp.net core2.0项目部署在IIS上运行

原文:将asp.net core2.0项目部署在IIS上运行 前言: ?与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是独立运行的.它独立运行在控制台应用程序中,并通过dotnet运行时命令调用.它并没有被加载到IIS工作进程中,但是IIS却加载了名为AspNetCoreModule的本地Module,这个Module用于执行外部的控制台程序. ?部署之前要确保你的IIS上已经安装了AspNetCoreModule托管模块,如果没有的话,点击

在IIS上SSL的部署和启动SSL安全【转】

在这次的项目中遇见了这个问题,之前我并懂了不了多少,只对了SSL和HTTPS理论了解.但并不知道在实际中如何运行.经过自己在网上查阅一番,最后靠自己解决了这个问题,现在在这里和大家分享一下.如果写的有不对或者是不恰当的,就请大家指正,多交流. SSL(安全套接子层:Secure Socket Layer): SSL是Secure Socket Layer(安全套接子层):是由网景公司(Netscape)自主研发的用以保障在Internet上敏感数据传输之安全,利用数据加密技术,可确保数据在网络上

在IIS上部署你的ASP.NET Core项目

概述 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等).而配置文件和过程都会由些许调整,中间最重要的角色便是AspNetCoreModule,

用户 'IIS APPPOOL\**' 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)

为开发方便-将项目部署到本地IIS上打开网页出现报错 1.打开IIS管理 2.点击应用池 3.找到你部署的网站名,右键“高级设置”——>“进程模型”——>“标识”修改为localsystem,点击“确定”. 步骤见下截图: 用户 'IIS APPPOOL\**' 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)

在IIS上部署Silverlight+WCF项目教程

1.在IIS部署Silverlight+WCF项目的前提是:在发布的机器上配置好IIS,具体操作参照http://www.jb51.net/article/29787.htm 2.IIS配置好后,打开IIS进行如下操作: (1)在IIS中添加以下MIME类型,否则无法解析项目 .xap  application/x-silverlight-app    .xaml  application/xaml+xml    .xbap application/x-ms-xbap (2)在IIS的[处理程序

在使用 AjaxFileUpload 上传文件时,在项目发布到 iis 后,图片不能预览

在使用 AjaxFileUpload  上传文件时,图片已经上传成功了,在站点没有发布时,可以预览,可是在项目发布到 iis 后,图片就不能预览,在网上找了很多的方案也没解决,最后的解决方案如下: 1.开始运行 regedit 打开注册表,先备份注册表 2.找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters 3.在 编辑 菜单上指向 新建 ,然后单击 DWORD 值 . 4.键入 EnableAggres

Web Server 在IIS上部署ASP.NET Core项目

在IIS上部署ASP.NET Core项目 一.配置应用程序池为无托管: 二.安装ASPNETCoreModule:(核心) 下载地址:https://go.microsoft.com/fwlink/?linkid=844461 安装包:DotNetCore.1.0.4_1.1.1-WindowsHosting.exe 没有安装是没有红色标记的这项的:

如何把ASP.NET MVC项目部署到本地IIS上

默认情况下,在VisualStudio中开发网站,会运行在IISExpress中,如果想把网站部署到本地的IIS服务器上该怎么办呢? 一.首先,以管理员身份运行VisualStudio,否则在修改项目属性时将弹出如下对话框,阻止我们修改服务器为本地IIS. 然后,双击Properties图标,打开Web标签,将服务器设置为本地IIS,修改项目URL,名称自拟,如图: 即可保存成功. 二.配置IIS. 打开本地IIS.如何在Win8上安装IIS的方法,请自行查阅.右键网站.添加网站,如图: 修改