Sql server 找不到对象";QueryNotificationErrorsQueue“;因为它不存在或您没有权限

Sql server 找不到对象";QueryNotificationErrorsQueue“;因为它不存在或您没有权限,sql-server,asp.net-mvc,signalr,signalr.client,sqldependency,Sql Server,Asp.net Mvc,Signalr,Signalr.client,Sqldependency,我正在使用SqlDependecy和signal将通知推送到客户端浏览器,当有一些数据库更改时,我遵循并发布了本地SqlExpress版本11.0和本地连接字符串,一切正常,但当我使用生产连接字符串连接到托管在GoDaddy中的远程数据库时,我遇到了某种权限问题 工作本地连接字符串 <!--<add name="NotifyConnection" providerName="System.Data.SqlClient" connectionString= "Data Source=.

我正在使用
SqlDependecy
signal
将通知推送到客户端浏览器,当有一些数据库更改时,我遵循并发布了本地
SqlExpress
版本11.0和本地连接字符串,一切正常,但当我使用生产连接字符串连接到托管在GoDaddy中的远程数据库时,我遇到了某种权限问题

工作本地连接字符串

<!--<add name="NotifyConnection" providerName="System.Data.SqlClient" connectionString=
"Data Source=.\SQLExpress;Initial Catalog=TestDB;Integrated Security=SSPI;" />-->
屏幕截图:

我不熟悉
SqlDependency
,如何解决这个问题


任何帮助都会很好。

在共享主机中,因为它们限制了一些功能,所以我无法使用
SqlDependency
,但下面是我在asp mvc中播放通知而不使用SqlDependency的解决方案

如果您是新的
信号员
,请首先尝试使用post创建简单的聊天web应用程序

我的要求是在商店发生新的销售时播放通知

1。创建信号服务器集线器

SignalR服务器集线器类,用于向所有浏览器客户端发送消息

[HubName("PascalCaseNewSalesHub")]
public class NewSalesHub : Hub
{

    public void Send(string shopid)
    {
        // Call the alertNewSalesToPage method to update clients.

        Clients.All.alertNewSalesToPage(shopid);
    }

}
2。PlaceOrder视图中的Javascript发送方法

当客户为此商店下新订单时,下面的javascript代码调用服务器中心上的Send方法来更新客户机

<script>

$(function () 
{
// Reference the auto-generated proxy for the hub.
var chat = $.connection.PascalCaseNewSalesHub;

var thisShopID = @(ViewBag.ShopID);


// Start the connection.
$.connection.hub.start().done(function () {

// Call the Send method on the hub to send this shops ID

chat.server.send(thisShopID);


});
});

$(函数()
{
//为中心引用自动生成的代理。
var chat=$.connection.PascalCaseNewSalesHub;
var thisShopID=@(ViewBag.ShopID);
//启动连接。
$.connection.hub.start().done(函数(){
//调用集线器上的Send方法来发送此ID
chat.server.send(thisShopID);
});
});

3。ShopSales视图中的Javascript客户端回调方法

服务器上的hub类调用此javascript函数将内容更新推送到每个客户端

<script type="text/javascript">
$(function () 
{

console.log('Page loaded');

// Declare a proxy to reference the hub.

var notifications = $.connection.PascalCaseNewSalesHub;

if (notifications != null)
{
 console.log('connected to SalesHUB proxy');
}

var thisShopID = @(ViewBag.ShopID);

// Create a function that the hub can call back to alert new sales.

notifications.client.alertNewSalesToPage = function (shopid)
{
// check if sales happened for this shop then play notification

if (shopid == thisShopID) 
{

 var sound =new Howl({
          src: ['../sounds/rings.mp3','../sounds/rings.wav','../sounds/rings.ogg',
          '../sounds/rings.aiff'],
          autoplay: true,
          loop: true
          });

          sound.play();

          $('#loading').show();

          // Partial View to Update LatestSales for this Shop

          $("#new-Sales").load('@Url.Action("GetLatestSales", "Shop")')

          $('#loading').hide();

          console.log('New Sale happened, Notification Played');
        }

    };


    // Start the connection.
    $.connection.hub.start().done(function () {


        console.log('signalR connection started');


    }).fail(function (e) {
        alert(e);
    });
});



</script>

$(函数()
{
console.log(“页面加载”);
//声明代理以引用中心。
var通知=$.connection.PascalCaseNewSalesHub;
如果(通知!=null)
{
log('连接到SalesHUB代理');
}
var thisShopID=@(ViewBag.ShopID);
//创建一个中心可以回调以提醒新销售人员的功能。
notifications.client.alertNewSalesToPage=函数(shopid)
{
//检查此商店是否有销售,然后播放通知
如果(shopid==此shopid)
{
新嚎叫({
src:['../sounds/rings.mp3','../sounds/rings.wav','../sounds/rings.ogg',
“../sounds/rings.aiff”],
自动播放:对,
循环:正确
});
声音。播放();
$(“#加载”).show();
//用于更新此商店最新销售额的部分视图
$(“#新销售额”).load('@Url.Action(“GetLatestSales”,“Shop”))
$(“#加载”).hide();
log('新销售发生,通知播放');
}
};
//启动连接。
$.connection.hub.start().done(函数(){
console.log('signar connection started');
}).失败(功能(e){
警报(e);
});
});
使用
Howler.js
插件播放通知,查看帖子


希望对某人有所帮助。

在共享主机中,因为它们限制了某些功能,所以我无法使用
SqlDependency
,但下面是我在asp mvc中播放没有SqlDependency的通知的解决方案

如果您是新的
信号员
,请首先尝试使用post创建简单的聊天web应用程序

我的要求是在商店发生新的销售时播放通知

1。创建信号服务器集线器

SignalR服务器集线器类,用于向所有浏览器客户端发送消息

[HubName("PascalCaseNewSalesHub")]
public class NewSalesHub : Hub
{

    public void Send(string shopid)
    {
        // Call the alertNewSalesToPage method to update clients.

        Clients.All.alertNewSalesToPage(shopid);
    }

}
2。PlaceOrder视图中的Javascript发送方法

当客户为此商店下新订单时,下面的javascript代码调用服务器中心上的Send方法来更新客户机

<script>

$(function () 
{
// Reference the auto-generated proxy for the hub.
var chat = $.connection.PascalCaseNewSalesHub;

var thisShopID = @(ViewBag.ShopID);


// Start the connection.
$.connection.hub.start().done(function () {

// Call the Send method on the hub to send this shops ID

chat.server.send(thisShopID);


});
});

$(函数()
{
//为中心引用自动生成的代理。
var chat=$.connection.PascalCaseNewSalesHub;
var thisShopID=@(ViewBag.ShopID);
//启动连接。
$.connection.hub.start().done(函数(){
//调用集线器上的Send方法来发送此ID
chat.server.send(thisShopID);
});
});

3。ShopSales视图中的Javascript客户端回调方法

服务器上的hub类调用此javascript函数将内容更新推送到每个客户端

<script type="text/javascript">
$(function () 
{

console.log('Page loaded');

// Declare a proxy to reference the hub.

var notifications = $.connection.PascalCaseNewSalesHub;

if (notifications != null)
{
 console.log('connected to SalesHUB proxy');
}

var thisShopID = @(ViewBag.ShopID);

// Create a function that the hub can call back to alert new sales.

notifications.client.alertNewSalesToPage = function (shopid)
{
// check if sales happened for this shop then play notification

if (shopid == thisShopID) 
{

 var sound =new Howl({
          src: ['../sounds/rings.mp3','../sounds/rings.wav','../sounds/rings.ogg',
          '../sounds/rings.aiff'],
          autoplay: true,
          loop: true
          });

          sound.play();

          $('#loading').show();

          // Partial View to Update LatestSales for this Shop

          $("#new-Sales").load('@Url.Action("GetLatestSales", "Shop")')

          $('#loading').hide();

          console.log('New Sale happened, Notification Played');
        }

    };


    // Start the connection.
    $.connection.hub.start().done(function () {


        console.log('signalR connection started');


    }).fail(function (e) {
        alert(e);
    });
});



</script>

$(函数()
{
console.log(“页面加载”);
//声明代理以引用中心。
var通知=$.connection.PascalCaseNewSalesHub;
如果(通知!=null)
{
log('连接到SalesHUB代理');
}
var thisShopID=@(ViewBag.ShopID);
//创建一个中心可以回调以提醒新销售人员的功能。
notifications.client.alertNewSalesToPage=函数(shopid)
{
//检查此商店是否有销售,然后播放通知
如果(shopid==此shopid)
{
新嚎叫({
src:['../sounds/rings.mp3','../sounds/rings.wav','../sounds/rings.ogg',
“../sounds/rings.aiff”],
自动播放:对,
循环:正确
});
声音。播放();
$(“#加载”).show();
//用于更新此商店最新销售额的部分视图
$(“#新销售额”).load('@Url.Action(“GetLatestSales”,“Shop”))
$(“#加载”).hide();
log('新销售发生,通知播放');
}
};
//启动连接。
$.connection.hub.start().done(函数(){
console.log('signar connection started');
}).失败(功能(e){
警报(e);
});
});
使用
Howler.js
插件播放通知,查看帖子


希望对某人有所帮助。

查看中的网络和身份验证注意事项。还有,你在代码中的什么地方呼叫?@Smudge202谢谢你的评论,我在