Tag: iis 7

WindowsIdentity和Classic .Net应用程序池

我有一个ASP.NET网站,要求我的App Pool是Classic .Net App Pool。 该站点在IIS 7上的.NET 3.5上运行。当我尝试获取登录用户的Active Directory用户名时: System.Security.Principal.WindowsIdentity.GetCurrent().Name 我得到以下内容: IIS APPPOOL\\Classic .NET AppPool 但是当我将应用程序池设置为.net 4.0时,它会返回登录的用户名(这就是我想要的)。 我错过了一个设置吗?

Owin Middleware在服务器上产生404

我有一个owin中间件,它在我的开发机器上的IIS7上工作(win7)。 但是当部署到2008服务器时,页面返回404 我像这样连接中间件 public static class AppBuilderExtensions { public static void InitTemplateStore(this IAppBuilder app, string templatePath, string fileMask) { TemplateStoreMiddleware.Init(templatePath, fileMask); app.Map(“/templates”, subApp => subApp.Use()); } } 可以在此处找到使用中间件的代码 https://github.com/AndersMalmgren/Knockout.Bootstrap.Demo 该站点作为IIS上默认网站下的虚拟应用程序托管 编辑:我是否需要添加默认角色之外的任何角色? IIS正在使用StaticFile处理程序,其中offcourse是错误的,为什么会发生这种情况? Module IIS Web Core Notification MapRequestHandler Handler StaticFile Error Code 0x80070002 Requested URL http://localhost:80/knockout.bootstrap.demo/templates?root=shared Physical Path C:\inetpub\knockout.bootstrap.demo\templates Logon Method Anonymous Logon User Anonymous

在Application_Start事件中请求对象

我们目前使用这行代码来获取Application_Start事件中的当前应用程序URL。 string sApplicationURL = HttpContext.Current.Request.Url.Scheme + “://” + HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.ApplicationPath; 我刚刚发现,在IIS7.0中,当触发Application_Start事件时,Request对象不再可用。 有没有另一种方法来获取当前的应用程序URL而不使用Request对象? 谢谢

ServerManager如何在磁盘上获取站点的物理路径?

如何在磁盘上获取站点的物理路径? using (ServerManager serverManager = new ServerManager()) { var sites = serverManager.Sites; foreach (Site site in sites) { Console.WriteLine(site.Name); // This will return the WebSite name //but how i get it’s path on disc ?????? }

WCF服务405方法不允许例外

我正在Visual Studio 2008中编写WCF服务以托管在Windows 2008 Standard服务器上。 我在IIS7中创建了一个新的Web站点,其自己的应用程序针对ASP.NET 2.0。 我在服务器角色中添加了.NET 3.0 Frameworkfunction。 我已经完成了涉及* .svc扩展和aspnet_isapi模块的所有步骤。 我运行“ServiceModelReg -r”并重新启动IIS以及服务器本身。 我的项目针对构建的.NET framework 3.5。 我的解决方案使用到服务器Web目录的UNC路径将项目作为Web站点引用。 该项目构建没有错误,我可以在我的客户端项目(在我的Win XP开发虚拟机上)成功添加服务引用到我的WCF服务。 我的客户端项目构建并运行,但在服务方法( CheckDatabaseConnection )调用期间抛出exception。 我的web.config和服务类附在下面,后面是客户端应用程序。 我完全没有想法了! web.config中: IConnectivity.cs: [ServiceContract(Namespace=”http://validurl.net”)] public interface IConnectivity { #region Methods [WebGet()] [WebInvoke(Method=”GET”)] [OperationContract()] bool CheckDatabaseConnection(string server, string database, string user, string password); #endregion Methods } // interface IConnectivity Connectivity.svc.cs: public class […]

Microsoft.Web.Administration.dll是可再发行的吗?

我们使用客户机器中的IIS中的ServerManager类访问默认端口号。 但是控制台没有运行某些机器并显示需要Microsoft.Web.Administration.dll。 这个程序集是Redistributable吗? 或者有没有其他方法来获取默认端口号? 我使用下面的代码来获取端口号。 using (ServerManager serverManager = new ServerManager()) { SiteCollection allsites = serverManager.Sites; foreach (Site site in allsites) { if (site.Name == “Default Web Site”) { BindingCollection allBindings = site.Bindings; foreach (Binding bind in allBindings) { if (bind.Protocol == “http”) { PortNo = bind.BindingInformation.ToString(); int portNoLenth = PortNo.Length; PortNo = PortNo.Substring(2, portNoLenth […]

ASP.NET MVC控制器动作与自定义参数转换?

我想设置一个ASP.NET MVC路由,如下所示: routes.MapRoute( “Default”, // Route name “{controller}/{action}/{idl}”, // URL with parameters new { controller = “Home”, action = “Index”, idl = UrlParameter.Optional } // Parameter defaults ); 路由请求看起来像这样…… Example/GetItems/1,2,3 …到我的控制器动作: public class ExampleController : Controller { public ActionResult GetItems(List id_list) { return View(); } } 问题是,我如何设置将idl url参数从string转换为List并调用适当的控制器操作? 我在这里看到一个相关的问题 ,使用OnActionExecuting预处理字符串,但没有改变类型。 我不认为这对我ActionExecutingContext ,因为当我在我的控制器中覆盖OnActionExecuting并检查ActionExecutingContext参数时,我看到ActionParameters字典已经有一个空值的idl键 – 可能是从字符串到List …这是我想要控制的路由的一部分。 […]

System.Data.SqlClient.SqlException:超时已过期

几天前我注意到我的Web应用程序给了我一个exception超时的sql过期。 我清理了几个存储过程,需要更多的CPU并重新启动SQL Server服务,我的应用程序开始工作,因为它是在快速和没有任何延迟之前。 三四个小时后我再次检查它,我无法加载页面,而不是它给我的exception超时到期。 我检查了服务器CPU是好的一切看起来很好。 我在同一个IIS 7下有一些其他网站,它们运行良好,没有任何例外。 我再次重新启动SQL Server服务,我的应用程序再次恢复正常。 我认为它看起来像SQL服务器数据库上的问题,但我不知道如何解决它。 因此,每当我遇到exception时,我只是重启sql服务,但当然这不是最好的方法。 请帮我解决这个问题。 这是我得到的一个例外。 消息:抛出了类型’System.Web.HttpUnhandledException’的exception。 来源:System.Web内部exception:System.Data.UpdateException:更新条目时发生错误。 有关详细信息,请参阅InnerException。 —> System.Data.SqlClient.SqlException:超时已过期。 操作完成之前经过的超时时间或服务器没有响应。 该语句已终止。 在系统上的System.Data.SqlClient.SqlInternalConnection.OnError(SqlExceptionexception,布尔breakConnection)中的System.Data.SqlClient.SqlConnection.OnError(SqlExceptionexception,布尔breakConnection)处于System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) System.Data.SqlClient上的System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)中的.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj) System.Data.SqlClient上的System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String方法,DbAsyncResult结果)中的.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,Boolean async)。 SqlCommand.InternalExecuteNonQuery(DbAsyncResult结果,Str 在System.Data.SqlClient.SqlCommand.ExecuteNonQuery()处的SystemName,Boolean sendToPipe)处于System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator translator,EntityConnection connection,Dictionary 2 identifierValues, List 1 generatedValues)。 Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter adapter)—内部exception堆栈跟踪结束—在System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter adapter)处于System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache)处的System.Data.Objects.ObjectContext.SaveChanges(Boolean […]

初始化字符串的格式不符合从索引0开始的规范

我正在使用Microsoft Enterprise Lip II有这种方法在网站上插入资源我得到这个错误我不认为这是权限问题而且我真的不知道如何解决它。通过我测试connectionStrings的方式和它工作正常 public static int Insert(Resoursce r) { Database objDB = new SqlDatabase(“SiteSqlServer”); int val = 0; using (DbCommand cmd = objDB.GetStoredProcCommand(“InsertResoursce”)) { // OutParameter objDB.AddOutParameter(cmd,”@OutResoursceID”,DbType.Int32,int.MaxValue); // iNParameter objDB.AddInParameter(cmd, “@ModuleId”, DbType.Int32, r.ModuleId); objDB.AddInParameter(cmd, “@Summary”, DbType.StringFixedLength, r.Summary); objDB.AddInParameter(cmd, “@PageId”, DbType.StringFixedLength, r.PageID); objDB.AddInParameter(cmd, “@TypeId”, DbType.Int32, r.TypeID); objDB.AddInParameter(cmd, “@UserID”, DbType.Guid, r.UserID); objDB.AddInParameter(cmd, “@Enabled”, DbType.Boolean, r.Enabled); objDB.AddInParameter(cmd, […]

应用池身份与假冒身份?

我发现只有一个与此相关的post,但它没有回答这个问题。 我很想知道在web.config中设置模拟用户与在IIS中设置应用程序池标识之间的区别的链接或解释。 他们似乎是独立的,并且对细节差异感到困惑。 谢谢。